如果将它与Hibernate一起使用,则必须显式定义批注
CascadeType.DELETE_ORPHAN,该批注可与JPA结合使用
CascadeType.ALL。
如果你不打算使用
Hibernate,则必须先明确删除子元素,然后再删除主记录,以避免出现任何孤立记录。
执行顺序
- 获取要删除的主行
- 获取子元素
- 删除所有子元素
- 删除主行
- 闭门会议
在JPA 2.0中,你现在可以使用选项orphanRemoval = true
@oneToMany(mappedBy="foo", orphanRemoval=true)



