有時,清理刪除對實體的所有引用是非常困難的(或性能問題)。繞過「找不到實體」錯誤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