2011-08-29 41 views
2

我正在尝试使用父对象上的saveOrUpdate函数从Hibernate Java对象中的集合中删除项目。更新和插入正常工作,但对象未正确删除。 saveOrUpdate()是否有能力识别和删除已从父集中删除的对象?作为一个方面说明,我有映射从DB - > hibernate java对象 - >域对象的映射器,并且域对象保留在会话中。我是否需要保持会话中的hibernate java对象才能正常工作?带删除的Hibernate SaveOrUpdate

更新(回答):我刚刚结束了使用merge()而不是saveOrUpdate()。在必要时合并调用DELETE,而不必在会话中存储java hibernate对象。

回答

3

您需要将delete-orphan添加到映射中。这将告诉休眠从一对多关系中删除'孤立'的对象。以下是documentation中特定项目的链接。