如何正确地使用3 OR Criter进行条件查询?

时间:2011-05-02 15:30:28

标签: hibernate criteria hibernate-criteria

我想用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)));

如何添加第三个?

2 个答案:

答案 0 :(得分:16)

你可以对结果“或”另外一个限制:

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

或使用Disjunction:

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

答案 1 :(得分:0)

有关连接和分离的详细说明,请参阅此链接

How to use Hibernate Criteria objects for multiple and/or conditions