Hibernate——Criteria
2013-11-10 00:58
302 查看
Criteria Query 可以看作传统sql的对象化表示Criteria 可以由session创建 Criteria ct= session.createCriteria(TUser.class);Criteria中可以增加查询条件 ct.add(Expression.eq("name","Erica")); ct.add(Expression.eq("sex",new Integer(1)));Criteria中增加的查询条件可以由表达式对象创建 Expression.eq(对象属性名,对象属性值);查询条件通过Criteria的add方法加入。表达式对象的方法有: eq 等于,第一个参数是对象属性,第二个参数是值 allEq 参数为一个Map对象,相当于多个eq的叠加 gt 大于 ge 大于等于 lt < le <= between 在两个值之间Expression.between("age",new Integer(10),new Integer(20)); like like查询 in in查询 eqProperty 用于比较两个对象的属性的值是否相等 gtProperty geProperty ltProperty leProperty and and方法可以嵌套Expression对象,用于and关系 or 同上 如:Expression.or( Expression.eq("name","hulei"), Expression.eq("name","jane") ); sql 作为Expression对象的补充,本方法提供对原生sql的支持***注意,在Hibernate3中,引入了Restrictions类作为Expression的替代,以后的版本,不再推荐使用Expression。 ***但是,Restrictions类的使用方法和Expression的方法一致。注意,在查询条件中,Hibernate提供了一个Example查询,当查询条件比较多的时候, 可以用Example查询来简化代码,使用方法如下: TUser user=new TUser(); user.setLoginName("hulei"); user.setPassword("hulei"); Criteria ct=session.createCriteria(TUser.class); ct.add(Example.create(user)); return ct.list(); 复合查询 Criteria查询可以嵌套Criteria来实现复合查询 如下: Criteria ct=session.createCriteria(TUser.class); Criteria ctAddress=ct.createCriteria("addresses");//这里是嵌套了一个Criteria查询,这里的addresses是TUser的属性 ctAddress.add(Expression.like("address","%shanghai%")); List list=ct.list();
百度文库——
http://wenku.baidu.com/view/878f24c708a1284ac850435c.html
相关文章推荐
- 似然估计和极大似然估计应用
- PHP Check If Variable Is Set
- mysql 调试工具 debugger for mysql
- How to Monitor Java Garbage Collection
- poj1703并查集
- [转]MySQL存储过程调试工具-dbForge Studio for MySQL
- OCP-1Z0-053-V12.02-522题
- archlinux没有声音
- C#中的委托
- 字符串处理
- Mysql的主从复制
- 最初的梦想
- Sqrt(x)
- OCP-1Z0-053-V12.02-523题
- lightoj 1189 水题叫你明白什么叫贪心....
- python JSON API duckduckgo search engine 使用duckduckgo API 尝试搜索引擎
- PHP Date |AND| Explode |AND| Find If String Contains a String
- 闭包
- 二十四点算法
- jQuery的入门与简介《思维导图》