您好,登錄后才能下訂單哦!
小編給大家分享一下Hibernate查詢方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1: QBE (Query By Example)
Criteria cri = session.createCriteria(Student.class); cri.add(Example.create(s)); //s是一個Student對象 list cri.list();
實質:創建一個模版,比如我有一個表serial有一個 giftortoy字段,我設置serial.setgifttoy("2"),
則這個表中的所有的giftortoy為2的數據都會出來
2: QBC (Query By Criteria) 主要有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.LT()小于
<= 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 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(); tran.commit();
5: QID
Session的get()和load()方法提供了根據對象ID來檢索對象的方式。該方式被用于事先知道了要檢索對象ID的情況。
以上是“Hibernate查詢方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。