我有两个具有多对一关系的实体类。我需要选择所有具有最小值小于所提供的子记录的父记录。
JPA标准加入
@Entity
class Parent; {
String source;
}
@Entity
class child {
@ManyToOne Parent parent;
int value;
}
我需要做的是选择所有的父类,其中Parent.source = X和分钟(Child.value> < Y.如何添加父/子实体和具体的加盟如果父母有一个孩子回一对多选择标准是什么?
CriteriaBuilder cb = context.em().getCriteriaBuilder();
CriteriaQuery cq = cb.createQuery(Parent.class);
Root r = cq.from(Parent.class);
Predicate p = cb.conjunction();
p = cb.and(p, cb.equal(r.get("source"), X));
Expression y = cb.literal(Y);
// what to do with y?
cq.where(p);
TypedQuery tq = context.em().createQuery(cq);
tq.setFirstResult(0);
tq.setMaxResults(100);
return tq.getResultList();
太棒了!所以“加入”是由孩子 - >父母AND完成的。非常感谢! – Gadi