有时,清理删除对实体的所有引用是非常困难的(或性能问题)。绕过“找不到实体”错误JPA
例如,我有一个与另一个Person对象有关系的Person对象。
当我删除一个人时,我不想在所有她可以拥有的关系中删除这个人,因为有时这个Person对象不知道它在哪里被引用。所以,如果我想清除删除所有引用,我必须做额外的SQL工作,可能会导致性能问题。
在一个理想的世界中,我想删除Person对象,并且当另一个Person对此Person执行引用(因为它在关系中有它的id)时,只需返回null。
事实是JPA抱怨
javax.persistence.EntityNotFoundException: No row with the given identifier exists
有没有办法迫使JPA返回在这种情况下,空引用,而不是一个例外?
这正是我正在寻找的!非常感谢。这是冬眠特定的,不是吗? –
我很高兴它的帮助,是的,注释特定于冬眠 – Augusto
@Augusto为什么Spring Data在第一个地方抛出这个异常? – svlada