Hibernate学习笔记---Criteria接口

Posted 巴卫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate学习笔记---Criteria接口相关的知识,希望对你有一定的参考价值。

Criteria接口

Criteria查询通过面相对向的设计,将数据查询条件封装为一个对象。在hibernate执行时会把criteria指定的查询恢复相应的sql语句。

条件查询

Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("uid",2));//add用来设置条件值,add里面实现条件
List<User> list =criteria.list();

  常用的方法

排序查询

addOrder()方法

Criteria criteria = session.createCriteria(User.class);
criteria.addOrder(Order.desc("uid"));//根据uid降排列

 分页查询跟hql分页一样(详情看上节)

 

createCriteria()方法

实现联合查询

Criteria criteria = session.createCriteria(User.class);
  .add(Restrictions.eq("name","jack"));
  .createCriteria("role");
 .add(Restrictions.eq("rolename","admin"));

setProjecttion()方法

主要完成聚合查询和分组查询

rowCount行数  , sum 相加, avg 平均, max  最大 ,min  最小 等

Criteria criteria = session.createCriteria(User.class);
     .setProjecttion(Projections.projectionList()

     .add( Projections.rowCount()  )
     .add( Projections.avg("age")   )
)

uniqueResult()方法

得到唯一查询结果

Criteria criteria = session.createCriteria(User.class);
   .add(Restrictions.idEq("2"))
    .uniqueResult();

  

 

以上是关于Hibernate学习笔记---Criteria接口的主要内容,如果未能解决你的问题,请参考以下文章

hibernate框架学习笔记7:HQL查询Criteria查询

Hibernate框架学习——Criteria语法

JAVAEE学习笔记hibernate04:查询种类HQLCriteria查询优化和练习为客户列表增加查询条件

Hibernate框架学习——批量查询(概述)

Hibernate中Criteria的完整用法

Hibernate中Criteria的完整用法