我使用JPA +休眠。JPA:添加不應該失敗,如果其中一行不能添加
我有2個實體(父,孩子)與他們之間的OneToMany連接。我想補充的孩子的名單父這樣的:
parent.setChildrent(childrenSet);
getEntityManager().merge(parent);
如果小兒實體之一包含無效值(例如,過長的字符串),其插入失敗,整個交易失敗。
有沒有辦法忽略/記錄錯誤,並繼續合併其餘的孩子?
我知道我可以一個一個地添加孩子,但有沒有更好的解決方案?
謝謝。
爲什麼你只是想忽略這樣的關鍵性錯誤?我從來沒有遇到過要求應用程序以這種方式行事的要求。數據驗證是任何數據相關應用程序的主要關注點。 – 2011-06-15 16:54:25
我不想讓交易失敗,因爲這些數據對於用戶來說至關重要,我更願意至少保存其中的一部分並將其呈現給用戶。我想記錄一個失敗,或者如果它太長,可能會截斷一個字符串。 – lili 2011-06-16 13:05:14