我正在使用 Hibernate,有几次不得不实现从父对象到其子对象的级联 DELETE 操作。我使用了以下两个选项。
一种选择是在父对象上公开 getChildren(),将子对象添加到返回的子对象集合中,并允许 Hibernate 自动级联 DELETE。此选项的缺点是 getChildren() 集合需要公开,即使它仅用于支持 Hibernate 级联。
另一种选择是在 ParentDao.delete(parent) 中手动查找和删除子项。此选项的缺点是更多自定义代码。但是,如果它使用批量删除语句,此选项可能会执行得更好。
你主要使用什么方法?你看到其他的优点和缺点吗?