How to correctly execute a criteria request with 3 criteria?

I would like to query the criteria using 3 OR Criterions, and I don't know what is the best way to do this.

Currently, I have only 2 or limitations.

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)));

How to add a third?

+3
source share
2 answers

You can either "or" one more restriction on the result:

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

or use Disjunction:

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

You can refer to this link for a more detailed explanation for connection and disjunction.

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

0
source

All Articles