我的場景:
我有一個父子物體。我想讀一個孩子和它的父母,更新它并保存回來。我希望整個操作都用鎖進行。
當前執行流程:
- 獲取父子物體
- 將物體轉換為域物件(遵循 DDD 設計)
- 更新父母和孩子
- 將 CHILD 域轉換為 CHILD 物體
- 保存 CHILD 物體。(父物件自動保存為子物件與父物件具有多對一關系)
要獲取父物體,呼叫 ParentRepositoy 中的 findbyId 方法,要獲取子方法,呼叫 ChildrenRepository 中的 FindById 方法。
要保存孩子和父母,呼叫 childrenRepository 中的 saveAll 方法。(父母通過多對一關系自動保存)
我想要一個 Persistent_write 鎖,它應該涵蓋從讀到寫。但我不確定要鎖定哪個物件或要鎖定哪個存盤庫方法。
任何人都可以在這里幫助我,或者如果我在這里誤解了任何內容,請詳細說明。
uj5u.com熱心網友回復:
我在父母的 repo.findby方法中宣告了 pessimistic_write 鎖。因為我只希望父行被鎖定并且它的作業。
代碼:
@Lock(LockModeType.PESSIMISTIC_WRITE)
List<...> findWithLockById(...);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524360.html
標籤:爪哇春天休眠jpa锁定
