Suppose I have classes like:
class A { B getB(); C getC(); } class B { String getFoo(); } class C { int getBar(); }
and I want to filter
Use aliases instead of nested criteria:
Criteria criteria = session.createCriteria(A.class) .createAlias("b", "b_alias") .createAlias("c", "c_alias") .add(Restrictions.disjunction() .add(Restrictions.eq("b_alias.foo", "Something")) .add(Restrictions.eq("c_alias.bar", "0")) );