hibernate3学习笔记(八) DetachedCriteria

依然接着前面的例子:http://www.bianceng.cn/Programming/Java/201101/23637.htm

示例代码如下:

1.package com.hb3.pack_01;2.3.import java.util.Iterator;4.import java.util.List;5.
6.import org.hibernate.Criteria;7.import org.hibernate.Session;8.import org.hibernate.SessionFactory;9.import org.hibernate.cfg.Configuration;10.import org.hibernate.criterion.DetachedCriteria;11.import org.hibernate.criterion.Restrictions;12.
13.import com.hb3.pack_01.model.User;14.
15.public class BusinessService {16.
17.    public static void main(String[] args) {18.19.        Configuration config = new Configuration().configure();20.        SessionFactory sessionFactory = config.buildSessionFactory();21.22.23.        DetachedCriteria detchedCriteria = DetachedCriteria.forClass(User.class);24.        detchedCriteria.add(Restrictions.ge("age",new Integer(20)));25.26.        Session session = sessionFactory.openSession();27.        Criteria criteria = detchedCriteria.getExecutableCriteria(session);28.29.        List<?> users = criteria.list();30.        Iterator<?> iterator =  users.iterator();31.        System.out.println("id \t name/age");32.        while(iterator.hasNext()) {33.            User ur = (User) iterator.next();34.            System.out.println(ur.getId() + " \t " + ur.getName() + "/" + ur.getAge());35.        }36.37.        session.close();38.        sessionFactory.close();39.    }40.}

Criteria和Session绑定的,但DetachedCriteria则不同。

这是在Hibernate 3中新增的类,目的是为了能够重复使用Criteria。其使用方法请参看前面对Criteria的介绍:

http://blog.csdn.net/kunshan_shenbin/archive/2008/09/02/2866977.aspx

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索hibernate
, iterator
, import
, criteria
, sessionfactory
, detachedcriteria
hibernate criteria
,以便于您获取更多的相关知识。

时间: 2024-10-15 05:06:29

hibernate3学习笔记(八) DetachedCriteria的相关文章

kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1291803 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h

hibernate3学习笔记(十五)|继承映射

这里详细讨论继承映射的3种方式: 1.Table per concrete class 继承关系如下图: 数据表设计如下图: MySQL数据库中执行如下DDL: 1.CREATE TABLE defaultuser (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. someProperty VARCHAR(100)5.);6.7.CREATE TABLE p

hibernate3学习笔记(十八)|关系映射:一对多

接上例:http://blog.csdn.net/kunshan_shenbin/archive/2008/09/03/2873943.aspx User对Room是多对一的关系,那么反过来Room对User就是一对多的关系了. User.java: 1.package com.hb3.pack_17.model;2.3.public class User {4. 5. private Integer id;6. private String name;7.8. public User() {9

hibernate3学习笔记(一)

今天开始系统的学习一下hibernate3.3.2 (annotations版)首先去hibernate的官方网站下载hibernate-distribution-3.3.2.GA版本,然后下载slf4j-1.5.8 一.hibernate-annotations-3.4.0.GA,然后在MyEclipse下建立一个java工程,加入如图的jar包.一个是hibernate的核心包hibernate3.jar,然后是lib目录下required下的全部jar,最后是一个是slf4j-1.5.8中

JSP学习笔记(八)-----include的运用

include|js|笔记 1. 向JSP页面中插入指定的页面方法有两种:JSP命令<%@ include%>JSP动作<jsp:include />2. a.jsp代码如下:<html>huanghui<%@ include file="b.jsp"%><jsp:include page="b.jsp" flush="true"/></html>3. b.jsp代码如下:&

hibernate3学习笔记(十三)|Dynamic Model

在构造系统原型阶段,由于需求尚未确定,程序中的POJO会在开发过程中存在相当大的变动,于是在Hibernate3中引入了动态模型的概念.如此不需要事先实际定义POJO. 数据库DDL如下: 1.CREATE TABLE user (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. age INT5.); User.hbm.xml配置文件中设定entity-na

设计模式学习笔记(八)—Template Method模式

<设计模式>一书对Template Method模式是这样描述的: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中.不改变算法的结构而重新定义它的步骤. 我的理解:定义一个抽象类或者说接口,在它的内部定义一些抽象的方法(供TemplateMethod调用的步骤)和一个TemplateMethod方法(非抽象方法),封装了这些抽象方法的接口或抽象类就是骨架.而将它的实现延迟到子类中,也就是用子类实现它.不改变算法的结构而重新定义它的步骤,也就是改写或者实现父类的这些非TemplateMeth

Unmi的Struts2学习笔记(八)

吾同人数进寺庙,却从未点过一柱香.概因精神世界里终无所寄托.既不为生 儿还是女而筹算,也无须因落下亏心事要请得神灵庇佑.想来,真要的东西,阿 弥陀佛也给不了.在物价飞涨之际,谁能给你加薪,何来民主,看看这辈子能不 能有机会参与选一回国家领导人,少说几句了,就这点言论自由了. 1. Struts 2 标签库以 OGNL 表达式为基础,对集合.对象的访问功能更强了 .Struts 2 的标签用统一的前缀,一般为 "s",不再像 Struts1 那样分 <html:.../>.&

hibernate3学习笔记(二十三)|进阶特性(三)

6.从数据表生成映射文件 可以从资料库的表格自动生成映射文件,首先 下载 Middlegen-Hibernate,下载後将之解压缩. 这边所使用的资料库是MySQL,并假设您的资料库中已有以下的表格: CREATE TABLE user ( id INT(11) NOT NULL auto_increment PRIMARY KEY, name VARCHAR(100) NOT NULL default '', age INT ); 进入Middlegen-Hibernate解压缩後的confi