一、
DetachedCriteria使得hibernate能够对查询条件进行面向对象的方式来组装。其创建方式有两种:
1.1直接用class创建:DetachedCriteria criteria =DetachedCriteria.forClass(t.class);
1.2用hibernate 的session 创建:session.createCriteria(Student.class)。
二、条件查询
2.1 多条件的and 规则
Restrictions 是产生查询条件的工具类。通过criteria .add(Restrictions.约束条件)实现条件查询,利用.and可多次添加条件。
2.2 多条件的or 规则
如果实现or 的查询,需要按照如下方式进行
searDc.add(Restrictions.or(Restrictions.eq("deptunid", "aa"),
Restrictions.isNull("deptunid")));
其中isnull 表示一个常规字段是否为空,isEmpty 用来表示一个集合字段是否为空。