- 每个
Account
都有一个过Origin
孔@ManyToOne
- 每个
Origin
s 都有Shadow
s via@OneToMany
有了 given Root<Account>
,我怎样才能加入那些Shadow
s 以便我可以在哪里为他们设置一些条件?
final Root<Account> account;
final Path<Origin> origin = account.get(Account_.origin);
Account
都有一个过Origin
孔@ManyToOne
Origin
s 都有Shadow
s via@OneToMany
有了 given Root<Account>
,我怎样才能加入那些Shadow
s 以便我可以在哪里为他们设置一些条件?
final Root<Account> account;
final Path<Origin> origin = account.get(Account_.origin);
假设 entity 中的@OneToMany
属性Origin
被调用shadows
,则需要使用Join如下:
Join<Origin, Shadow> shadows = origin.join(Origin_.shadows);
Shadow
然后,您可以在s 属性上编写条件,就像在这个简单的 String 案例中一样,因为Join<Z,X>
has Path<X>
as SuperInterface:
String name;
Predicate condition = criteriaBuilder.equals(shadows.get(Shadow_.name, name));