我的Spring应用程序同时依赖于乐观版本控制机制和悲观锁。
当我尝试使用带
注释的SpringData方法仅通过id查找实体时@Lock(PESSIMISTIC_WRITE)
我得到了:
StaleObjectException
假设PESSIMISTIC_WRITE方法应该阻塞并等待直到有可能获得锁,这不是正确的做法吗? 另外,即使实体可能已被另一个事务并行更新,在findById()查询期间如何发生StaleObjectException?
P.S基础数据库是Postgres,如果这很重要。