Hibernate 條件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_先森