Hibernate--Criteria Query and DetachedCriteria
Criteria Query通过面向对象的设计,将数据查询条件封装为一个对象。简单来说,Criteria Query可以看作是传统SQL的对象化表示,如: Criteria criteria=session.createCriteria(TUser.class); criteria.add(Expression.eq("name","Erica")); criteria.add(Expression.eq("sex",new Integer(1)); 这里的criteria实例本质上是对SQL“select * from t_user where name='Erica' and sex=1”的封装。 Hibernate在运行期会根据Criteria中指定的查询条件生成相应的SQL语句。 Criteria查询表达式 Criteria本身只是一个容器,具体的查询条件要通过Criteria.add方法添加到Criteria实例中。 方法 描述 Expression.eq 对应SQL “field=value”表达式 如:Expression.eq("name","Erica") Expression.allEq 参数为一个Map对象,其中包含了多个属性-值对应关系。相当于多个Expression.eq关系的叠加 Expression.gt 对应SQL“field>value”表达式