Java 在Hibernate中对链接表应用筛选器
我有一个经典的例子,关于产品关系。 CategoryTo类具有定义为以下内容的Java 在Hibernate中对链接表应用筛选器,java,hibernate,Java,Hibernate,我有一个经典的例子,关于产品关系。 CategoryTo类具有定义为以下内容的集成员: @ManyToMany(cascade = CascadeType.ALL) @JoinTable( name = "Category_Product", joinColumns = @JoinColumn(name = "CAT_ID"), inverseJoinColumns = @JoinColumn(name = "PROD_ID") ) public
集
成员:
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name = "Category_Product",
joinColumns = @JoinColumn(name = "CAT_ID"),
inverseJoinColumns = @JoinColumn(name = "PROD_ID")
)
public Set<Product> getProducts() {
return products;
}
@ManyToMany(cascade=CascadeType.ALL)
@可接合(
name=“类别\产品”,
joinColumns=@JoinColumn(name=“CAT_ID”),
inverseJoinColumns=@JoinColumn(name=“PROD\u ID”)
)
公共集getProducts(){
退货产品;
}
问题是,当且仅当Category\u Product.ENABLED为“1”时,我希望有Category->Product关系。
我尝试使用@FilterJoinTable
注释,但据我所知,它只在实体上工作(不在链接表上),所以在这里没有帮助。
我希望有一个使用Hibernate内置功能的优雅解决方案。文档清楚地说明了@FilterJoinTable
:
当集合将关联表用作关系表时
表示时,您可能希望将筛选条件应用于
关联表本身或与目标实体表的关联。应用
约束在目标实体上,使用常规的@Filter
注释。
但是,如果要以关联表为目标,请使用
@FilterJoinTable
注释
所以,它应该起作用