使用Delete删除SaveOrUpdate

时间:2011-08-29 19:00:19

标签: java database hibernate hibernate-mapping

我试图使用父对象上的saveOrUpdate函数从Hibernate Java对象的集合中删除项目。更新和插入工作正常,但对象未正确删除。 saveOrUpdate()是否能够识别和删除已从父集中删除的对象?

作为旁注,我有来自DB的映射器 - > hibernate java对象 - >域对象,域对象保留在会话中。我是否需要在会话中保持hibernate java对象才能正常工作?

UPDATE(ANSWERED):我刚刚使用merge()而不是saveOrUpdate()。必要时合并调用DELETE而不必在会话中存储java hibernate对象。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

您正在寻找“删除孤儿”。查看reference guide on parent-child relationshipsthe annotation syntax的注释指南。