Hibernate中Criteria的完整用法

Hibernate中Criteria的完整用法

一、查询对象

[java]  view plain  copy
  1. a、DetachedCriteria dc = DetachedCriteria.forClass(CredAnnexKhImage.class);  
  2. b、dc.add(Restrictions.eq("custCompanyInfo.id", custId));  
  3. c、dc.addOrder(Order.asc("parentType"));  
  4. d、执行:(List<CredAnnexKhImage>) this.baseDao.getListForCriteria(dc);  

      补充:Restrictions用法

[java]  view plain  copy
  1. 1、Restrictions.like("reportDate", year + "%");  
  2. 2、Restrictions.or(可有多个条件用,分隔);  
  3. 3、Restrictions.in("checkResult"new String[]{"0""1""2"});  
  4. 4、Restrictions.isNull("checkResult")  
二、CallableCriteria

      1、用法:

[java]  view plain  copy
  1. a、CallableCriteria.getInstance(baseDao, cls).in("id", ids).addOrder(order).list();  
  2.    // baseDao:接口;cls:对象;ids:数组;order:参数;  
三、查询分页
[javascript]  view plain  copy
  1. public void queryPage(DetachedCriteria detachedCriteria, Page page) {  
  2.     Criteria criteria = detachedCriteria.getExecutableCriteria(getSession());  
  3.     Integer count = (Integer) criteria.setProjection(Projections.rowCount()).uniqueResult();  
  4.     if (null != count) {  
  5.         page.setTotalProperty(count);  
  6.     }  
  7.     LOGGER.debug("count:" + count);  
  8.     criteria.setProjection(null);  
  9.     criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);  
  10.     LOGGER.debug("PAGE PARAM start:" + page.getStart() + " limit:" + page.getLimit());  
  11.     page.setRoot(criteria.setFirstResult(page.getStart()).setMaxResults(page.getLimit()).list());  
  12. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值