2011-05-02 103 views
3

我想用3个OR Criterions做一个标准查询,我不知道最好的方法是做什么。如何正确使用3个OR Criterions进行标准查询?

目前我只有2个或限制。

Criteria crit = session.createCriteria(Reader.class) 
.add(Restrictions.or(Restrictions.like(PUBLICATION_ID_FIELD, "Question",MatchMode.END), Restrictions.like(PUBLICATION_ID_FIELD, "Idea",MatchMode.END))); 

如何添加第三个?

回答

14

您可以“或”多一个限制的结果:

Criteria criteria = session.createCriteria(Reader.class); 
criteria.add(Restrictions.or(Restrictions.or(condition1, condition2), condition3)); 

或使用分离:

Criteria criteria = session.createCriteria(Reader.class); 
Junction conditionGroup = Restrictions.disjunction(); 
conditionGroup.add(condition1).add(condition2).add(condition3); 
criteria.add(conditionGroup); 
+1

Thx,我不知道交界处。 – 2011-05-03 08:27:02