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

近日用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);

 

转载于:https://www.cnblogs.com/Rainy-/p/3988899.html

你可能感兴趣的:(java)