Criteriacriteria = this.getSession().createCriteria(EquipmentPO.class);
criteria. add (Restrictions.allEq(newMap(Restrictions.eq("equipID",newString(" 11020449 ")),Restrictions.eq("equipID",newString(" 11020449 "))));
// 注意:between查询条件可解释为查询EquipmentPO对象中的equipID属性值在newString(" 11020449 ")和newString(" 11030137 ")之间的所有记录值(包含两个端点)
criteria. add (Restrictions. between ("equipID",newString(" 11020449 "),newString(" 11030137 ")));
// 查询结果列表记录按照equipID的属性值来升序排序
criteria.addOrder( Order . asc ("equipID")); // 降序方式为: Order . desc ("equipID")
// 通过EquipmentPO对象的主键id来查询
criteria. add (Restrictions.idEq("402882ac0d3f7ca8010d3f7ef869000b"));
Restrictions. like (fieldName," % " + para + " % ")
// 使用ilike方式进行模糊查询
criteria. add (Restrictions.ilike("equipID",newString(" % 11020 % ")));
// ilike的i即ignore之意,所以这里查询出englishName值为"OptimaXL100KUltracentrifuge"(忽略大小写)的记录
criteria. add (Restrictions.ilike("englishName",newString("OptimaXL100KUltracentrifuge"),MatchMode.ANYWHERE)); // 这里
// 使用in方式有两种形式,即数组或者Collection的方式,可参考如下两个实例
criteria. add (Restrictions. in ("equipID",newString [] {" 11020449 "," 11020450 "})); // 数组参数
Collectioncol = newArrayList();
col. add (newString(" 11020449 "));
col. add (newString(" 11020450 "));
col. add (newString(" 11020874 "));
criteria. add (Restrictions. in ("equipID",col)); // Collection参数
// 使用isEmpty / isNotEmpty方式用来判断EquipmentPO对象中的Collection类型的属性是否为空的所有记录
// EquipmentPO对象中定义属性private Set equipFunctionDevelopPOs = newHashSet(); // 设备功能开发对象
criteria. add (Restrictions.isEmpty("equipFunctionDevelopPOs"));
criteria. add (Restrictions.isNotEmpty("equipFunctionDevelopPOs"));
// 使用isNull方式查询出所有schoolID属性没有值的记录。说明:Restrictions.isNull判断属性是否为空,为空返回true,反之返回false
criteria. add (Restrictions. isNull ("schoolID"));
criteria. add (Restrictions.isNotNull("schoolID"));
// 与Restrictions.eq正好相反,表示不存在( not in )
criteria. add (Restrictions. not (Restrictions.eq("equipID",newString(" 11020449 "))));
// 使用Restrictions.sizeEq方式用来查询EquipmentPO对象中的Collection类型的属性equipFunctionDevelopPOs的size为1的所有记录
criteria. add (Restrictions.sizeEq("equipFunctionDevelopPOs", 1 ));
// 使用sql限定的查询。注意{alias}.chnname这里是指实际表中的字段名而非属性名(不区分大小写)
criteria. add (Restrictions.sqlRestriction("{alias}.chnname like (?)"," % 电 % ",Hibernate.STRING));
criteria. add (Restrictions.sqlRestriction("{alias}.ENGNAME like (?)"," % ptima % ",Hibernate.STRING));
// 如果有多个查询条件,比如between子句的查询则如下:
BigDecimal [] unitPrice = {newBigDecimal( 402514 ),newBigDecimal( 614891 )};
Type [] types = {Hibernate.BIG_DECIMAL,Hibernate.BIG_DECIMAL};
criteria. add (Restrictions.sqlRestriction("{alias}.unit_price between (?) and (?)",unitPrice,types));
Listlist = criteria.list();
System.out.println("size ===> " + list.size());
return list;
原文地址:http://www.blogjava.net/ocean07000814/articles/72601.html
分享到:
相关推荐
1.3 小结 1.4 思考题 第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 ...
总结hibernate框架的常用检索方式 1、hibernate框架的检索方式有以下几种: OID检索:根据唯一标识OID检索数据 对象导航检索:根据某个对象导航查询与该对象关联的对象数据 HQL检索:通过query接口对象查询 QBC...
1.3 小结 1.4 思考题 第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 ...
1.3 小结 1.4 思考题 第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 ...
1.3 小结 1.4 思考题 第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 ...
Hibernate的检索方式:(查询/加载) 1. 通过OID加载 session.get(Users.class, 1); * 2. 通过HQL/SQL 检索 hibernate query language (面向对象的查询语言) * a) 不再操纵表,它操纵的是持久化类的对象 b) 面向...
5.4 qbc查询方式 314 5.4.1 基本查询 315 5.4.2 qbe查询 317 5.4.3 分页查询 318 5.4.4 复合查询 318 5.4.5 离线查询 319 5.5 本地sql查询 320 5.6 hibernate的批量处理 322 5.6.1 批量插入 322 5.6.2 批量...
9.2hibernate的数据查询方式 193 9.2.1hql方式 193 9.2.2qbc方式 194 9.2.3原生sql方式 195 9.3hibernate的关联查询 196 9.3.1一对一关联关系的使用 196 9.3.2一对多、多对一关联关系的使用 197 9.3.3多对多...
{1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{subsection.1.3.1} {1.4}数据类型}{23}{section.1.4} {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}...