我試圖控制對spring + jpa配置中同一對象的併發訪問。 例如,我有一個名爲A的實體。現在多個進程更新A的同一對象。 我正在使用版本控制字段,但控制它,但這裏是問題: 例如,2個進程讀取具有版本的相同實體= 1。 現在一個進程更新實體並且版本得到遞增。 當第二個進程試圖保持對象時,會拋出樂觀鎖異常。 我正在使用spring服務和存儲庫來訪問對象。 你能幫我嗎?彈簧實體併發控制,同時堅持到數據庫中
0
A
回答
0
那麼問題是什麼?這就是它應該如何工作。
你可以捕獲JpaOptimisticLockingFailureException,然後決定從那裏做些什麼。
此,例如,將給予驗證錯誤消息的Spring MVC的形式:
...
if(!bindingResult.hasErrors()) {
try {
fooRepository.save(foo);
} catch (JpaOptimisticLockingFailureException exp){
bindingResult.reject("", "This record was modified by another user. Try refreshing the page.");
}
}
...
+0
我期待如果hibernate或jpa本身可以處理這個異常並重新加載對象。 – RichyRich
+0
@richyrich重新加載並不總是最好的選擇,所以他們會把它留給你。 –
相關問題
- 1. 使用jackson彈簧啓動堅持嵌套實體失敗
- 2. 無法如果與彈簧AuthenticationProcessingFilter擴展類堅持實體JPA
- 3. symfony2:無法堅持實體並插入數據庫
- 4. 實體框架不堅持數據庫中的數據
- 5. 同時堅持兩個實體
- 6. 堅持與數據相關實體
- 7. 發佈ajax數據到彈簧控制器
- 8. 無法從JavaScript發送數據到彈簧控制器
- 9. 從AngularJS工廠發送數據到彈簧控制器
- 10. 從數據庫中寫入鎖實體在彈簧
- 11. 彈簧數據JPA不刪除實體
- 12. 不同包中的彈簧數據實體
- 13. 如何在彈簧數據中觸發實體更新?
- 14. 堅持列表關係彈簧數據mongodb
- 15. 到彈簧控制器
- 16. JSON到彈簧控制器
- 17. 怎麼不堅持模型實體到數據庫春天數據JPA
- 18. 錯誤,同時從彈簧控制器類傳遞數據到jsp
- 19. 堅持新的實體,以現有的數據庫JPA
- 20. JPA堅持兩次相同的實體
- 21. 彈簧數據JPA合併更新實體
- 22. 如何使用彈簧數據保存實體的子實體
- 23. 堅持CommonsMultipartFile數據庫
- 24. 在Java彈簧中動態連接到不同的數據庫
- 25. 堅持從angularJs在控制器數據發佈
- 26. 堅持會話到數據庫
- 27. 彈簧數據休息覆蓋庫(控制器VS AOP)
- 28. 訪問開發 - 使實時數據庫與開發數據庫保持同步
- 29. 彈簧數據庫重用
- 30. 嘗試堅持JPA實體時出錯
你描述什麼是你想要的場景的結果?你想要發生什麼? –
在這裏看到答案:http://stackoverflow.com/a/19456821/1356423 –