【计算机论文全套栏目提醒】:网学会员计算机论文全套为您提供Hibernate中Criteria的完整使用文档 - 计算机理论参考,解决您在Hibernate中Criteria的完整使用文档 - 计算机理论学习中工作中的难题,参考学习。
QBE Query By Example Criteria cri session.createCriteriaStudent.class cri.addExample.creates //s是一个Student对象 list cri.list 实质:创建一个模版,比如我有一个表serial有一个 giftortoy字段,我设置serial.setgifttoyquot2quot 则这个表中的所有的giftortoy为2的数据都会出来 2: QBC Query By Criteria 主要有CriteriaCriterionOderRestrictions类组成 session this.getSession Criteria cri session.createCriteriaJdItemSerialnumber.class Criterion cron Restrictions.likequotcustomerquotname cri.addcron list cri.list 比较运算符 HQL运算符 QBC运算符 含义 Restrictions.eq 等于 ltgt Restrictions.notExprission.eq 不等于 gt Restrictions.gt 大于 gt Restrictions.ge 大于等于 lt Restrictions.lt 小于 lt Restrictions.le 小于等于 is null Restrictions.isnull 等于空值 is not null Restrictions.isNotNull 非空值 like Restrictions.like 字符串模式匹配 and Restrictions.and 逻辑与 and Restrictions.conjunction 逻辑与 or Restrictions.or 逻辑或 or Restrictions.disjunction 逻辑或 not Restrictions.not 逻辑非 in列表 Restrictions.in 等于列表中的某一个值 ont in列表 Restrictions.notRestrictions.in不等于列表中任意一个值 between x and y Restrictions.between 闭区间xy中的任意值 not between x and y Restrictions.notRestrictions..between 小于值X或者大于值y 3: HQL String hql quotselect s.name avgs.age from Student s group by s.namequot Query query session.createQueryhql list query.list .... 4: 本地SQL查询 session sessionFactory.openSession tran session.beginTransaction SQLQuery sq session.createSQLQuerysql sq.addEntityStudent.class list sq.list tran.commit org.hibernate.Criteria接口表示特定持久类的一个查询。
Session是 Criteria实例的工厂。
Criteria crit sess.createCriteriaCat.class crit.setMaxResults50 List cats crit.list 一个单独的查询条件是org.hibernate.criterion.Criterion 接口的一个实例。
org.hibernate.criterion.Restrictions类 定义了获得某些内置Criterion类型的工厂方法。
List cats sess.createCriteriaCat.class .add Restrictions.likequotnamequot quotFritzquot .add Restrictions.betweenquotweightquot minWeight maxWeight .list 约束可以按逻辑分组。
List cats sess.createCriteriaCat.class .add Restrictions.likequotnamequot quotFritzquot .add Restrictions.or Restrictions.eq quotagequot new Integer0 Restrictions.isNullquotagequot .list List cats sess.createCriteriaCat.class .add Restrictions.in quotnamequot new String quotFritzquot quotIziquot quotPkquot .add Restrictions.disjunction .add Restrictions.isNullquotagequot .add Restrictions.eqquotagequot new Integer0 .add Restrictions.eqquotagequot new Integer1 .add Restrictions.eqquotagequot new Integer2 .list Hibernate提供了相当多的内置criterion类型Restrictions 子类 但是尤其有用的是可以允许你直接使用SQL。
List cats sess.createCriteriaCat.class .add Restrictions.sqlquotloweralias.name like lowerquot quotFritzquot Hibernate.STRING .list alias占位符应当被替换为被查询实体的列别名。
Property实例是获得一个条件的另外一种途径。
你可以通过调用Property.forName 创建一个Property。
Property age Property.forNamequotagequot List cats sess.createCriteriaCat.class .add Restrictions.disjunction .add age.isNull .add age.eq new Int