熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Hibernate查詢方法之探析

2013-11-23 20:19:28  來源: Java開源技術 

  : QBE (Query By Example)

  Criteria cri = sessioncreateCriteria(Studentclass);
criadd(Examplecreate(s)); //s是一個Student對象
list crilist();

  實質創建一個模版比如我有一個表serial有一個 giftortoy字段我設置serialsetgifttoy()
則這個表中的所有的giftortoy為的數據都會出來

  : QBC (Query By Criteria) 主要有CriteriaCriterionOderRestrictions類組成

  session = thisgetSession();
Criteria cri = sessioncreateCriteria(JdItemSerialnumberclass);
Criterion cron = Restrictionslike(customername);
criadd(cron);
list = crilist();

  比較運算符

  HQL運算符 QBC運算符 含義
=Restrictionseq()等於
<> Restrictionsnot(Exprissioneq())  不等於
>Restrictionsgt()大於
>= Restrictionsge()大於等於
<= Restrictions.le()小於等於
is null Restrictions.isnull()  等於空值
is not nullRestrictions.isNotNull()  非空值
like  Restrictions.like() 字符串模式匹配
and Restrictions.and()  邏輯與
and njunction()邏輯與
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 y  Restrictions.not(Restrictions..between()) 小於值X或者大於值y

  3: HQL

  String hql = "select s.name ,avg(s.age) from Student s group by s.name";
Query query = session.createQuery(hql);
list = query.list();
....


4: 本地SQL查詢

  session = sessionFactory.openSession();
tran = session.beginTransaction();
SQLQuery sq = session.createSQLQuery(sql);
sq.addEntity(Student.class);
list = sq.list();
mit();

  5: QID

  Session的get()和load()方法提供了根據對象ID來檢索對象的方式。tW.winGWIT.COM該方式被用於事先知道了要檢索對象ID的情況。


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28308.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.