Account
都有一个Origin
来自@ManyToOne
Origin
都Shadow
通过@OneToMany
在给定Root<Account>
的情况下,我如何加入Shadow
这些以便我可以在哪些地方添加条件?
final Root<Account> account;
final Path<Origin> origin = account.get(Account_.origin);
答案 0 :(得分:1)
如果@OneToMany
实体中的Origin
属性被称为shadows
,则需要使用Join,如下所示:
Join<Origin, Shadow> shadows = origin.join(Origin_.shadows);
然后,您可以在Shadow
属性上编写条件,就像在这个简单的String情况下一样,因为Join<Z,X>
具有Path<X>
作为SuperInterface:
String name;
Predicate condition = criteriaBuilder.equals(shadows.get(Shadow_.name, name));