Hibernate3的DetachedCriteria

10 篇文章 0 订阅
1 篇文章 0 订阅

org.hibernate.criterion.DetachedCriteria 是用来执行条件查询的.可以依据这个类,创建查询语句,然后传递给hibernate执行.

 

基本使用方法(1-3都是在action层设置)

1:创建 DetachedCriteria

DetachedCriteria detachedCriteria = DetachedCriteria.forClass(RightBasicEntity.class);


2:设置查询条件:

detachedCriteria.add(Restrictions.like("要查询的条件属性", "要匹配的条件"));

detachedCriteria.add(Restrictions.like("right_name", "%MainAction%"));

Restrictions类还有其它相对应的查询方法


3:设置查询排序:

detachedCriteria.addOrder(Order.desc("要排序的属性"));

Order类还有 Order.asc()



4:把detachedCriteria传递给DAO层

....传递过程略过

 

5:返回查询结果(DAO层):

return hibernateTemplate.findByCriteria(detachedCriteria);

 

使用 DetachedCriteria 的好处是创建查询条件不需要session的支持.在action层设置好查询条件后,传递给 DAO 层就可以获取结果.

 


 

一些其它信息:


设置查询的限制条数:

return hibernateTemplate.findByCriteria(detachedCriteria, firstResult, maxResults);

firstResult 起始ID //0 或者 通过分页函数计算,这个并不是真实的数据表内的ID(某个属性).

maxResults 最大查询限制条数

 

 

获取查询集的总条数:

detachedCriteria.setProjection(Projections.rowCount());
Long count = Long.parseLong(hibernateTemplate.findByCriteria(detachedCriteria).get(0).toString());
detachedCriteria.setProjection(null);
System.out.println(count);

 


 

 

 

参考:

http://brimstone.javaeye.com/blog/143864

http://brimstone.javaeye.com/blog/143867

 

http://blog.csdn.net/kjfcpua/archive/2009/06/21/4287248.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值