1. 程式人生 > >【原】Cause: se.spagettikod.optimist.RemovedByAnotherUserException解決方案

【原】Cause: se.spagettikod.optimist.RemovedByAnotherUserException解決方案

如果 sql mis 異常 efault 都是 這樣的 other 遇到

遇到這種問題,大多都會覺得很簡單,不就是要更新的某條數據已經被刪除了嗎?確實大多數都是這樣的情況。然而,昨天遇到這個異常時,找了很久很久,已經斷定之前沒有任何刪除操作。Mapper文件等一切配置都正確。

最後,看了源碼,哪裏拋出的RemovedByAnotherUserException才豁然開朗,

技術分享圖片

原來,如果要更新的數據的Lockversion(PO中添加 @Version 的字段)為null的時候,也會報這個錯誤。豁然明白,原來自己做SSO登錄時,這些用戶數據是自己寫的SQL寫入的,而且,沒有設置default值。

之前沒有註意,也沒思考到這點,導致一直再找自己的業務邏輯和代碼是不是哪裏誤寫成了,耽誤了不少時間,寫個小總結吧。還是要多思考下。

【原】Cause: se.spagettikod.optimist.RemovedByAnotherUserException解決方案