使用JPA樂觀鎖定,我們可以通過@Version字段控制數據庫表是否已被另一個事務同時更新,從而允許在數據庫中存儲可靠的數據。JPA樂觀鎖定vs同步Java方法
如果Java應用程序只有一個負責數據庫中特定實體的CRUD服務,我們可以同步它的方法並管理信息存儲在數據庫中的順序。
所以我的問題是,這些情況之間有什麼區別?是否存在績效優勢,甚至是最佳實踐?方法同步
使用JPA樂觀鎖定,我們可以通過@Version字段控制數據庫表是否已被另一個事務同時更新,從而允許在數據庫中存儲可靠的數據。JPA樂觀鎖定vs同步Java方法
如果Java應用程序只有一個負責數據庫中特定實體的CRUD服務,我們可以同步它的方法並管理信息存儲在數據庫中的順序。
所以我的問題是,這些情況之間有什麼區別?是否存在績效優勢,甚至是最佳實踐?方法同步
缺點:
將同步視爲悲觀鎖定:在開始工作之前,必須預留鎖定,而不是檢查是否只有在完成工作時(提交期間的樂觀鎖定)才違反鎖定。 兩個發球局有不同的用途:
一般來說:不要使用同步鎖定實體,JPA鎖定實際DB行時存在悲觀鎖定支持:http://docs.oracle.com/javaee/6/tutorial/doc/gkjiu.html