我有几个删除了所有布尔字段的表。 过滤预先加载的集合(使用hql)的最佳方法是什么,即:
from worker as w left join w.taskSet as t where (w.deleted!=true or w.deleted is null ) and (t.deleted!=true or t.deleted is null )
如果他的作品已被删除,则不会返回工作人员实例
答案 0 :(得分:1)
过滤将应用于正在提取的根实体(例如Worker
),并且不会过滤掉收藏品。
最好在两个实体上定义filter以及一对一关联。
答案 1 :(得分:0)
此解决方案适合我
@FilterDef(name="NOT_DELETED") @Filters({ @Filter(name="NOT_DELETED", condition="not deleted or deleted is null") }) @Entity ... @Column Boolean deleted ...
用法
session.enableFilter(" NOT_DELETED&#34);