看了几个实例。记点东东。
criteria条件查询 (criteria=‘标准’)。大概就是标准条件查询的意思。它的工作流程是由session产生一个实例→然后对这个实例进行‘条件设置’,想设什么条件就设什么条件→session销毁时,它也就销毁了。为了不与session绑定,且能够重复使用Criteria对象,从而在hibernate3中新增了DetchedCriteria。它大概的流程就是先建立这种对象,并加入各种查询查询条件,需要的时候再与session绑定。。。感觉唯一的区别就是后者不是由session产生的而已。
- //简单使用
- Criteria criteria = session.createCriteria(User.class);
- List users=criteria.list();
- //这样便把A的所有记录都查出来了
- //
- criteria.add(Restrictions.gt("age",new Integer(20));
- List users=criteria.list();
- //Restrictions还有很多的函数,具体使用再查咯。
- /*
- 其他的功能:支持sql语句设置。
- 1.排序 : criteria.addOrder(Order.asc("age"));
- 2.指定范围查询 criteria.setFirstResult(2);//起始位置
- criteria.setMaxResults(8);//最大记录数量
- 3.统计,分组:
- ProjectionList p=Projection.projectionList();
- p.add(Projection.groupProperty("age");
- p.add(Projection.rowCount());
- criteria.setProjecttion(p);
- */
大概就是对criteria进行各种各样的设置,然后再执行list()方法。