Hibernate下多个Restrictions.or的解决方案

时间:2014-09-23 19:00:25   收藏:0   阅读:255

近日用Hibernate做项目遇到一个问题:用DetachedCriteria动态查询时,查询条件存在多个or。

通常情况下使用Restrictions.or()即可解决,但如果or的个数不确定呢?

解决方案:使用org.hibernate.criterion.Criterion

代码如下:

DetachedCriteria criteria = xxDao.createDc();
Criterion criterion = null;
criterion = Restrictions.in("id", "");//第一个查询条件
for(int i = 1; i < length ; i++){
  criterion = Restrictions.or(criterion, Restrictions.in("id", ""));//第N+个查询条件
}
if(criterion != null){
  criteria.add(criterion);//这里会自动拼接成N个or
}
xxDao.find(criteria);

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!