叢集導致的資料併發異常
例如庫存只剩餘一個 同時進入兩個請求 資料可能出現負值的情況
解決方案
在資料庫中將欄位定義為unsigned
repository INT(11) unsigned DEFAULT `0`COMMENT `庫存`複製程式碼
程式中 如果資料已經為0 程式依然請求減一的操作 資料會出現DataIntegrityViolationException 異常
try {
//執行資料庫庫存-1的操作
......
} catch (DataIntegrityViolationException e) { //併發導致的庫存問題
//異常處理
......
}複製程式碼
通過這種方式可以保證資料的正確性
未經作者允許 請勿轉載,謝謝 ?