Предположим, у меня есть такие классы, как:
class A {
B getB();
C getC();
}
class B {
String getFoo();
}
class C {
int getBar();
}
и я хочу отфильтровать критерии для A, два фильтра для различных свойств подкласса, например:
Criteria criteriaA = session.createCriteria(A.class);
Criteria criteriaB = criteriaA.createCriteria("b").add(Restrictions.eq("foo", "Something"));
Criteria criteriaC = criteriaA.createCriteria("c").add(Restrictions.eq("bar", 0));
То, что я хочу сделать, это объединить критерии B и критерии C с помощью предложения "или", например:
//this does not work
criteriaA.add(Restrictions.disjunction().add(criteriaB).add(criteriaC));
Как мне это сделать? Я немного спотыкаюсь об API здесь.