4

3 つの OR 基準を使用して基準クエリを作成したいのですが、どの方法が最適かわかりません。

現在、制限は 2 つまたは 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)));

3つ目を追加するにはどうすればよいですか?

4

2 に答える 2

17

結果に対してもう1つの制限を「または」することができます。

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);
于 2011-05-02T16:44:10.780 に答える
0

接続詞と選言の詳細な説明については、このリンクを参照してください。

複数の and/or 条件に Hibernate Criteria オブジェクトを使用する方法

于 2016-08-15T17:15:43.567 に答える