gpt4 book ai didi

java - JPA @manyToMany 有条件

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

我得到了那些 table :

User: (user_id)

Site: (site_id, subsite)

User_site: (user_id , site_id)

我想要类似的东西:

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
name = "user_site",
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "site_id", referencedColumnName)
@Where(clause = "site.subsite = false")
private Collection<Site> sites;

但这行不通。我可以对站点选择添加限制吗?

最佳答案

比在 SQL 级别上过滤更好,我建议您在 Java 中使用 Criteria 在 HQL 级别上过滤。在某个 Collection 的重写 getter 中。

这是示例(未经测试):

public List getList(boolean subsite) {
Criteria c = sessionFactory.getCurrentSession().createCriteria(Site.class);
c.add(Restrictions.eq("site.subsite", subsite);
return (List<Site>) c.list();
}

关于java - JPA @manyToMany 有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46956488/

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