我正在使用Eclipse链接实现,但也许这与Hibernate相关。 在某些时候,我叫:JPA锁定是否被视为原子?
em.lock(entity, LockModeType.OPTIMISTIC_FORCE_INCREMENT);
这一点我认为是一个原子操作。
令人惊讶的是 - 在@Version
字段上放置了一个断点后,似乎有很多电话拨打entity._persistence_get
和entity._persistence_set
。
显然 - 使用两个浏览器可以与调试器达到相同点,并在线程仍在运行这些隐藏函数时切换线程。完成后 - 两个线程都不可能稍后刷新/提交。
当不在发布模式时,会发生这种变化吗?还是仅仅因为调试器?
问候, 丹尼尔
我不确定我是否理解你的问题。你是什么意思的原子?一个连接的实体不应该在几个线程中使用。 –
Atomic =操作期间不允许上下文切换。 – Daniel