1
  1. 每个Account都有一个过Origin@ManyToOne
  2. 每个Origins 都有Shadows via@OneToMany

有了 given Root<Account>,我怎样才能加入那些Shadows 以便我可以在哪里为他们设置一些条件?

final Root<Account> account;
final Path<Origin> origin = account.get(Account_.origin);
4

1 回答 1

1

假设 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));
于 2013-03-25T11:44:15.263 回答