2012-11-14 38 views

回答

9

@Version用於實現帶有Hibernate的Optimistic locking,所以不是沒有兩個事務在衝突的同時覆蓋數據。
如果數據被兩個線程同時讀取,並且都嘗試使用不同的值更新同一行,則Hibernate使用@Version字段檢查該行是否已更新。
提交之前,每個事務都會驗證沒有其他事務修改了其數據。 如果修改,最後一個事務遇到一個處理過期數據錯誤。

@Audited用於在Hiberate Envers

+0

感謝您的答案和你是對的.. – Kathir

4

@Version - 用於實現樂觀鎖定,請參閱2.2.1.2. Versioning for optimistic locking。如果您不希望發生多個併發寫入並且不想支付數據庫鎖定的價格,則樂觀鎖定非常有用。

@Autidted - 來自Envers API,可用於在單獨的審計表中自動跟蹤對實體的更改。使用Envers來保存一些實體的變化歷史。

+0

感謝的實體部分進行auditing functionality的答案 – Kathir

相關問題