刷新数据但未提交数据时,可能会获得乐观锁定异常

时间:2015-08-20 16:55:03

标签: java jpa entitymanager

我最近了解到,当我们进行显式刷新时,数据会被移动到数据库,但它是孤立的,只对当前事务可见,并且对其他线程和事务是隐藏的。

所以我的问题是我是否有一个多线程应用程序

  1. Transaction1中的第一个主题更新实体并刷新但尚未完成交易
  2. Transaction2中的第二个线程更新同一个实体并刷新,此事务无法看到Transaction1刷新的数据,这会导致乐观锁定异常吗?

1 个答案:

答案 0 :(得分:0)

这取决于事务隔离级别。例如,在读取级别(最常见的级别)中,第二个线程将被阻塞,直到第一个事务完成,因为它们更新了同一行。