我在使用休眠时遇到问题,在尝试删除一组实体时遇到以下错误:
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [com.locuslive.odyssey.entity.FreightInvoiceLine#<null>]
这些通常不是那么难追踪,因为它们通常是由于实体被删除但并未从其所属的集合中删除而引起的。

在这种情况下,我从我能想到的每个列表中删除了该实体(这是一个复杂的数据模型)。我已经将JBoss记录到Trace中,并且可以看到正在级联的集合。但是,我似乎找不到包含要删除的实体的Collection。

有没有人有解决此特定异常的提示?我特别在寻找识别可能是拥有的Collection的方法。

谢谢。

最佳答案

我建议做

getEntityManager()。remove(freightInvoiceLine);

作为最后一步。我认为这是一个好习惯,首先将其从任何集合中删除,然后再将其删除。在许多情况下,它将避免头痛。

关于java - 解决Hibernate/JPA EntityNotFoundException的技巧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2467238/

10-10 09:36