我有兩個具有多對一關係的實體類。我需要選擇所有具有最小值小於所提供的子記錄的父記錄。
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