1: QBE (Query By Example)
Criteria cri=session.createCriteria(Student.class);cri.add(Example.create(s));//s是一個Student對象listcri.list();
實質:建立一個模版,比如我有一個表serial有一個giftortoy欄位,我設定serial.setgifttoy("2"),
則這個表中的所有的giftortoy為2的資料都會出來
2: QBC (Query ByCriteria)主要有Criteria,Criterion,Oder,Restrictions類組成
session = this.getSession();Criteria
cri=session.createCriteria(JdItemSerialnumber.class);Criterion
cron=Restrictions.like("customer",name);cri.add(cron);list=cri.list();
比較子
HQL運算子 QBC運算子 含義
=Restrictions.eq()等於
<> Restrictions.not(Exprission.eq()) 不等於
>Restrictions.gt()大於
>= Restrictions.ge()大於等於
<= Restrictions.le()小於等於
is null Restrictions.isnull() 等於空值
is not nullRestrictions.isNotNull() 非空值
like Restrictions.like() 字串模式比對
and Restrictions.and() 邏輯與
and Restrictions.conjunction()邏輯與
or Restrictions.or()邏輯或
or Restrictions.disjunction()邏輯或
notRestrictions.not() 邏輯非
in(列表) Restrictions.in()等於列表中的某一個值
ont in(列表)Restrictions.not(Restrictions.in())不等於列表中任意一個值
between x and yRestrictions.between() 閉區間xy中的任意值
not between x and yRestrictions.not(Restrictions..between())小於值X或者大於值y
3: HQL
String hql = "select s.name ,avg(s.age) from Student s
groupbys.name";Query query =
session.createQuery(hql);list=query.list();....
4: 本地SQL查詢
5: QID
Session的get()和load()方法提供了根據對象ID來檢索對象的方式。該方式被用於事Crowdsourced Security Testing道了要檢索對象ID的情況。
編輯精選
層層解析Hibernate中的事務的濫用
關於Struts+Hibernate分頁的問題
Struts與Hibernate的完美結合方案
關於Hibernate你必須知道的六個方面