使用PESSIMISTIC_WRITE锁定的find()上的StaleObjectException

时间:2019-07-02 19:54:18

标签: java jpa transactions spring-data

我的Spring应用程序同时依赖于乐观版本控制机制和悲观锁。

当我尝试使用带

注释的SpringData方法仅通过id查找实体时
  

@Lock(PESSIMISTIC_WRITE)

我得到了:

  

StaleObjectException

假设PESSIMISTIC_WRITE方法应该阻塞并等待直到有可能获得锁,这不是正确的做法吗? 另外,即使实体可能已被另一个事务并行更新,在findById()查询期间如何发生StaleObjectException?

P.S基础数据库是Postgres,如果这很重要。

0 个答案:

没有答案