網上找了很久,發現造成原因有很多種,后來終於發現了端倪;看提示是發生了異常,查看業務代碼,發現有這個邏輯:先插入記錄,如果有唯一鍵約束異常(並發造成),catch時查詢已存在的記錄,查詢的時候就報了此錯誤。
原因:異常后,再次查詢的時候觸發了autoFlush,先前保存失敗的記錄會再次保存,導致拋出如標題所述異常。
解決方法:數據庫是mysql,改為采用 insert ignore into語句進行插入
當然有很多處理方法,就不贅述了
網上找了很久,發現造成原因有很多種,后來終於發現了端倪;看提示是發生了異常,查看業務代碼,發現有這個邏輯:先插入記錄,如果有唯一鍵約束異常(並發造成),catch時查詢已存在的記錄,查詢的時候就報了此錯誤。
原因:異常后,再次查詢的時候觸發了autoFlush,先前保存失敗的記錄會再次保存,導致拋出如標題所述異常。
解決方法:數據庫是mysql,改為采用 insert ignore into語句進行插入
當然有很多處理方法,就不贅述了
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。