使用@Where子句删除孤儿

时间:2017-11-21 15:22:32

标签: java hibernate one-to-many cascade all-delete-orphan

我有一个分层结构。有些孩子被隐藏了所以我有@Where条款:

@OneToMany(fetch = FetchType.LAZY, orphanRemoval = true)
@org.hibernate.annotations.Where(clause = "hidden=false")
private List<Element> children;

但是当我想通过删除父节点来删除整个子结构(包括隐藏的子节点)时,hibernate似乎跳过隐藏的子节点并且我得到db异常:

  

org.postgresql.util.PSQLException:错误:在表格上更新或删除&#34; xxx&#34;违反外键约束&#34; yyy_yyy_id_fkey&#34;在桌子上&#34; zzz&#34;

hibernate有没有处理它的方法?

0 个答案:

没有答案