我正在使用Eclipse鏈接實現,但也許這與Hibernate相關。 在某些時候,我叫:JPA鎖定是否被視爲原子?
em.lock(entity, LockModeType.OPTIMISTIC_FORCE_INCREMENT);
這一點我認爲是一個原子操作。
令人驚訝的是 - 在@Version
字段上放置了一個斷點後,似乎有很多電話撥打entity._persistence_get
和entity._persistence_set
。
顯然 - 使用兩個瀏覽器可以與調試器達到相同點,並在線程仍在運行這些隱藏函數時切換線程。完成後 - 兩個線程都不可能稍後刷新/提交。
當不在發佈模式時,會發生這種變化嗎?還是僅僅因爲調試器?
問候, 丹尼爾
我不確定我是否理解你的問題。你是什麼意思的原子?一個連接的實體不應該在幾個線程中使用。 –
Atomic =操作期間不允許上下文切換。 – Daniel