Hibernate学习笔记(6)---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();

  

原文地址:https://www.cnblogs.com/durui/p/7588107.html