博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate 中的 QBC
阅读量:4048 次
发布时间:2019-05-25

本文共 2874 字,大约阅读时间需要 9 分钟。

1          Criteria criteria  =  this.getSession().createCriteria(EquipmentPO.class);

 2         criteria. add (Restrictions.allEq(new Map(Restrictions.eq("equipID",new String(" 11020449 ")),Restrictions.eq("equipID",new String(" 11020449 "))));       
 3          // 注意:between查询条件可解释为查询EquipmentPO对象中的equipID属性值在new String(" 11020449 ")和new String(" 11030137 ")之间的所有记录值(包含两个端点)
 4         criteria. add (Restrictions. between ("equipID",new String(" 11020449 "),new String(" 11030137 ")));
 5          // 查询结果列表记录按照equipID的属性值来升序排序
 6         criteria.addOrder( Order . asc ("equipID")); // 降序方式为: Order . desc ("equipID")       
 7          // 通过EquipmentPO对象的主键id来查询
 8         criteria. add (Restrictions.idEq("402882ac0d3f7ca8010d3f7ef869000b"));       
 9         Restrictions. like (fieldName, " % "  +  para +  " % ")
10          // 使用ilike方式进行模糊查询
11         criteria. add (Restrictions.ilike("equipID",new String(" % 11020 % ")));
12          // ilike的i即ignore之意,所以这里查询出englishName值为"Optima XL 100K Ultracentrifuge"(忽略大小写)的记录
13         criteria. add (Restrictions.ilike("englishName",new String("Optima XL 100K Ultracentrifuge"),MatchMode.ANYWHERE)); // 这里       
14          // 使用in方式有两种形式,即数组或者Collection的方式,可参考如下两个实例
15          // criteria. add (Restrictions. in ("equipID",new String [] {" 11020449 "," 11020450 "})); // 数组参数
16         Collection col  =  new ArrayList();
17         col. add (new String(" 11020449 "));
18         col. add (new String(" 11020450 "));
19         col. add (new String(" 11020874 "));
20         criteria. add (Restrictions. in ("equipID",col)); // Collection参数       
21          // 使用isEmpty / isNotEmpty方式用来判断EquipmentPO对象中的Collection类型的属性是否为空的所有记录
22          // EquipmentPO对象中定义属性private  Set  equipFunctionDevelopPOs  =  new HashSet();  //  设备功能开发对象
23         criteria. add (Restrictions.isEmpty("equipFunctionDevelopPOs"));
24         criteria. add (Restrictions.isNotEmpty("equipFunctionDevelopPOs"));
25          // 使用isNull方式查询出所有schoolID属性没有值的记录。说明:Restrictions.isNull判断属性是否为空,为空返回true,反之返回false
26         criteria. add (Restrictions. isNull ("schoolID"));
27         criteria. add (Restrictions.isNotNull("schoolID"));       
28          // 与Restrictions.eq正好相反,表示不存在( not   in )
29         criteria. add (Restrictions. not (Restrictions.eq("equipID",new String(" 11020449 "))));
30          // 使用Restrictions.sizeEq方式用来查询EquipmentPO对象中的Collection类型的属性equipFunctionDevelopPOs的size为1的所有记录
31         criteria. add (Restrictions.sizeEq("equipFunctionDevelopPOs", 1 ));       
32          // 使用sql限定的查询。注意{alias}.chnname这里是指实际表中的字段名而非属性名(不区分大小写)
33         criteria. add (Restrictions.sqlRestriction("{alias}.chnname  like  (?)"," % 电 % ",Hibernate.STRING));
34         criteria. add (Restrictions.sqlRestriction("{alias}.ENGNAME  like  (?)"," % ptima % ",Hibernate.STRING));
35          // 如果有多个查询条件,比如between子句的查询则如下:       
36         BigDecimal []  unitPrice  =  {new BigDecimal( 402514 ),new BigDecimal( 614891 )};
37         Type []  types  =  {Hibernate.BIG_DECIMAL,Hibernate.BIG_DECIMAL};
38         criteria. add (Restrictions.sqlRestriction("{alias}.unit_price  between  (?)  and  (?)",unitPrice,types));
39         List list  =  criteria.list();
40         System.out.println("size ===> "  +  list.size());
41          return  list; 

该文章转载自网络大本营: 

你可能感兴趣的文章
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>
Returning a value from a function
查看>>
coursesa课程 Python 3 programming Functions can call other functions 函数调用另一个函数
查看>>
coursesa课程 Python 3 programming The while Statement
查看>>
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
在unity中建立最小的shader(Minimal Shader)
查看>>
1.3 Debugging of Shaders (调试着色器)
查看>>
关于phpcms中模块_tag.class.php中的pc_tag()方法的含义
查看>>
vsftp 配置具有匿名登录也有系统用户登录,系统用户有管理权限,匿名只有下载权限。
查看>>