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学习笔记(6)---Criteria接口
原文地址:http://www.cnblogs.com/durui/p/7588107.html