对不同对象的不同属性进行休眠条件查询
假设我有这样的类:
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));
我想做的是使用“or”子句将 criteriaB 和 criteriaC 组合在一起,如下所示:
//this does not work
criteriaA.add(Restrictions.disjunction().add(criteriaB).add(criteriaC));
我该如何做到这一点?我在这里对API有点磕磕绊绊。