【发布时间】:2010-03-18 02:34:39
【问题描述】:
我遇到了 Hibernate 问题,在尝试删除一组实体时遇到以下错误:
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [com.locuslive.odyssey.entity.FreightInvoiceLine#<null>]
这些通常并不难追踪,因为它们通常是由于实体被删除但未从它所属的集合中删除而引起的。
在这种情况下,我已经从我能想到的每个列表中删除了实体(这是一个复杂的数据模型)。我已经将 JBoss 登录到 Trace 中,我可以看到正在级联的集合。但是我似乎找不到包含我要删除的实体的集合。
有没有人有解决这个特殊异常的任何提示?我特别在寻找方法来识别可能拥有的集合。
谢谢。
【问题讨论】:
-
如果您有 CascadeType.ALL,您可以尝试删除 CascadeType.PERSIST,看看会发生什么。
-
给出你的映射/注释和代码
-
@Petar:+1 是的,这行得通。但是,我更喜欢在其中包含 CascadeType.PERSIST,因为它可以更轻松地添加子实体。