2011-05-02 107 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