gpt4 book ai didi

java - ManyToMany 的 JPA Criteria 规范

转载 作者:行者123 更新时间:2023-12-02 02:23:29 24 4
gpt4 key购买 nike

我的实体 ClientAgency 具有 ManyToOne 关系,因此表 client 的列 agency_id 指向表agency,还有Client:

@ManyToOne
@JoinColumn(name = "agency_id")
private Agency agency;

Spring Data JPA 规范可以选择具有 Agency id 的 Client:

public static Specification<Client> withAgencyIds(Collection<Long> agencyIds) {
return (root, query, cb) -> root.join(Client_.agency).get(Agency_.id).in(agencyIds);
}

现在我必须将 ManyToOne 关系更改为 ManyToMany 关系,以便 Client 具有:

@ManyToMany
@JoinTable(name = "client_agency",
joinColumns = @JoinColumn(name = "client_id"),
inverseJoinColumns = @JoinColumn(name = "agency_id"))
@OrderBy("name")
private List<Agency> agencies = new ArrayList<>();

我应该如何调整上述规范才能选择具有 Agency ID 的 Client

提前非常感谢您!

最佳答案

这个 JPA Criteria 规范工作正常:

public static Specification<Client> withAgencyIds(Collection<Long> agencyIds) {
return (root, query, cb) -> root.join(Client_.agencies).get(Agency_.id).in(agencyIds);
}

关于java - ManyToMany 的 JPA Criteria 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266616/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com