Hibernate中使用Criteria查询实例
创始人
2024-04-08 17:01:30
0

hibernate支持一种java编写习惯的查询api,使用session建立net.sf.hibernate.Criteria,您可以在不用sql甚至hql的情况下进行查询。

如果我们要查询User的所有信息我们可以如下使用Criteria查询:

  1. Criteria crit = session.createCriteria(User.class);  
  2.         List users = crit.list();  
  3.         for (ListIterator iterator = users.listIterator(); iterator.hasNext(); ) {  
  4.             User user = (User) iterator.next();  
  5.             System.out.println("name: " + user.getName());  
  6.             System.out.println("age: " + user.getAge());             
  7.         }  

我们要为查询限定条件,可以通过net.sf.hibernate.expression.Expression设置Expression有很多的条件查询方法下面举一些例子:

  1. Criteria crit = session.createCriteria(User.class);  
  2.         crit.add(Expression.ge("age", new Integer(25)));  
  3.         List users = crit.list(); 

ge()表示大于等于,即age大于等于25的user。

  1. crit.add(Expression.gt("age", new Integer(20)));  
  2. crit.add(Expression.between("weight", new Integer(60),new Integer(80)));  
  3. List users = crit.list(); 

Criteria查询结果中的between表示weight在60和80之间。

  1. crit.add(Expression.or(  
  2.                    Expression.eq("age", new Integer(20)),  
  3.                    Expression.isNull("age")  
  4.                ));  
  5. List users = crit.list();  

eq表示age为20的user。

  1. Criteria crit = session.createCriteria(User.class);  
  2. crit.setFirstResult(51);  
  3. crit.setMaxResult(50);  
  4. List users = crit.list(); 

setMaxResult()设置返回的信息条数,setFirstResult()设置查询结果的初始位置,上面的程序段可以实现分页。

以上提供了一个简单的Criteria查询实例。

【编辑推荐】

  1. Hibernate缓存简介及分类
  2. Hibernate中使用DetchedCriteria
  3. Hibernate之Criteria进阶查询
  4. Hibernate之Criteria基本查询
  5. Hibernate的事务:事务对象的方法

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...