Hibernate Criteria條件Restrictions.or查詢 循環多個or條件

今天公司讓我做一個列表查詢頁面,因爲還是對於hibernate的不熟悉剛出來經驗不足,代碼敲得少,所有導致了種種困難…頁面左邊有個多級菜單欄,因爲種種需求需要我用到SQL查詢條件裏面的or(或者),但因爲用的是hibernate所以我苦苦在網上搜尋,得到了如下代碼:

1 Criteria criteria = this.createCriteria();
2 criteria.add(Restrictions.or(Restrictions.eq("name","a"),Restrictions.eq("name","b")));

但是這樣只能是一次寫一個or條件,我的需求需要我寫類似name=”a”or name=”b” or name=”c”…… 
所有我又繼續搜索,得到了如下代碼:

複製代碼
1 Criteria criteria = this.createCriteria();
2 Disjunction dis = Restrictions.disjunction();
3 for (int i = 0; i < 5; i++) {
4                 dis.add(Restrictions.eq("name", ""+i));
5 }
6 criteria .add(dis);
複製代碼

 

問題完美解決。 
所有當只需要一個or條件時可以用Restrictions.or();當用到多個or條件時,就需要用到Restrictions.disjunction();

這是我的第一篇博客。剛到上海工作不到半年,希望能快速的進步!加油!!!! 
Alvin_先森

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章