我有具有ManyToOne关系的实体Client
和Agency
,因此表client
的列agency_id
指向表agency
,也指向{{1} }:
Client
有Spring Data JPA规范,用于选择@ManyToOne
@JoinColumn(name = "agency_id")
private Agency agency;
id在以下的Client
:
Agency
现在我必须将ManyToOne关系更改为ManyToMany关系,以使public static Specification<Client> withAgencyIds(Collection<Long> agencyIds) {
return (root, query, cb) -> root.join(Client_.agency).get(Agency_.id).in(agencyIds);
}
具有:
Client
我应该如何调整上面的规范以选择具有@ManyToMany
@JoinTable(name = "client_agency",
joinColumns = @JoinColumn(name = "client_id"),
inverseJoinColumns = @JoinColumn(name = "agency_id"))
@OrderBy("name")
private List<Agency> agencies = new ArrayList<>();
id的Client
?
非常感谢您!
答案 0 :(得分:0)
此JPA标准规范可以正常工作:
public static Specification<Client> withAgencyIds(Collection<Long> agencyIds) {
return (root, query, cb) -> root.join(Client_.agencies).get(Agency_.id).in(agencyIds);
}