如何使用Criteria API进行JOIN ON查询
问题描述:
从2.1版开始,JPA支持 join on
。我发现了几个示例,如何在JPQL中使用 join on
,而对于Criteria API却没有,这是我的问题:
Since version 2.1 JPA supports join on
. I found few examples how to use join on
in JPQL but none for Criteria API, and here is my question:
JOIN ON
是否在Criteria APi中实现?如果是的话,有人可以提供示例吗?
Is
JOIN ON
is implemented in Criteria APi? And if yes, Can anyone provide example?
答
尝试这样的事情
CriteriaQuery<Person> crit = cb.createQuery(Person.class);
Root<Person> candidateRoot = crit.from(Person.class);
Join<Person, Address> addrJoin = candidateRoot.join(Person_.address, JoinType.INNER);
addrJoin.on({some predicate});
在 {some predicate}中填充任何您要施加的ON子句。
filling "{some predicate}" with whatever ON clause you want to impose.