Criteria用法

Criteria用法

ID:38364174

大小:60.00 KB

页数:11页

时间:2019-06-11

Criteria用法_第1页
Criteria用法_第2页
Criteria用法_第3页
Criteria用法_第4页
Criteria用法_第5页
资源描述:

《Criteria用法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CriteriaQuery通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,CriteriaQuery可以看作是传统SQL的对象化表示,如:Criteriacriteria=session.createCriteria(User.class);criteria.add(Expression.eq("name","Erica"));criteria.add(Expression.eq("sex",newInteger(1)));Criteria查询表达式Criteria本身只是一个查询容器,具体的查询条件需要通过Criteria.add方

2、法添加到Criteria实例中。如前例所示,Expression对象具体描述了查询条件。针对SQL语法,Expression提供了对应的查询限定机制,包括:方法描述Expression.eq对应SQL“field=value”表达式。如Expression.eq("name","Erica")Expression.allEq参数为一个Map对象,其中包含了多个属性-值对应关系。相当于多个Expression.eq关系的叠加。Expression.gt对应SQL中的“field>value”表达式Expression.ge对应SQL中的“field>

3、=value”表达式Expression.lt对应SQL中的“field

4、L中的“field=field”。如:Expression.eqProperty("TUser.groupID","TGroup.id");Expression.gtProperty用于比较两个属性之间的值,对应SQL中的“field>field”。Expression.geProperty用于比较两个属性之间的值,对应SQL中的“field>=field”。Expression.ltProperty用于比较两个属性之间的值,对应SQL中的“field

5、“field<=field”。Expression.andand关系组合。如:Expression.and(Expression.eq("name","Erica"),Expression.eq("sex",newInteger(1)));Expression.oror关系组合。如:Expression.or(Expression.eq("name","Erica"),Expression.eq("name","Emma"));Expression.sql作为补充,本方法提供了原生SQL语法的支持。我们可以通过这个方法直接通过SQL语句限定查询条件

6、。下面的代码返回所有名称以“Erica”起始的记录:Expression.sql(“lower({alias}.name)likelower(?)”,"Erica%",Hibernate.STRING);其中的“{alias}”将由Hibernate在运行期使用当前关联的POJO别名替换。注意Expression各方法中的属性名参数(如Express.eq中的第一个参数),这里所谓属性名是POJO中对应实际库表字段的属性名(大小写敏感),而非库表中的实际字段名称。Criteria高级特性限定返回的记录范围通过criteria.setFirstRes

7、ult/setMaxResults方法可以限制一次查询返回的记录范围:Criteriacriteria=session.createCriteria(TUser.class);//限定查询返回检索结果中,从第一百条结果开始的20条记录criteria.setFirstResult(100);criteria.setMaxResults(20);对查询结果进行排序//查询所有groupId=2的记录//并分别按照姓名(顺序)和groupId(逆序)排序Criteriacriteria=session.createCriteria(TUser.clas

8、s);criteria.add(Expression.eq("groupId",newInteger(2)));crite

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。