2009-06-26 6 views
4

小さな質問は制限および/または順序Restrictions.orとRestrictions.andについて

私はこのような何かを行う場合は休止状態または、制限が追加された順に処理されますか:

(((A and B) or C) and D) 

いずれかが存在する場合も、参照を追加してください...

+0

あなたは、割り当て直すときあなたは本当に物事を混合している「基準」。変数宣言でfinalを使用することを検討してください。 – whiskeysierra

答えて

5

をそれは後者

(((A and B) or C) and D) 

として扱われるべきであるあなたが最初のソリューション

をしたい場合は、

criterion = Restriction.or(Restrictions.and(criterionA, criterionB), Restrictions.and(criterionC, criterionD)) 

を行うことができます

2

(プログラミング言語やCFGパーサーのような)優先ルールはありません。メソッド呼び出しは明白に決定しますその表現。

(AおよびB)または(CおよびD)に変換する必要があります。すべての行で

import static org.hibernate.criterion.Restrictions.*; 
... 
criterion = or(and(A, B), and(C,D)); 
関連する問題