什么时候PessimisticLockException导致事务回滚?

时间:2019-11-27 12:44:38

标签: database jpa java-ee persistence pessimistic-locking

我正在阅读JPA关于DECLARE @DupIDS varchar(max)=''; SELECT @DupIDS =STRING_AGG(ID,',') FROM Product WHERE ID NOT IN (SELECT min(ID) FROM Product GROUP BY Value) Delete From Product WHERE id in (SELECT value FROM STRING_SPLIT(@DupIDS , ',')) Delete From ProductRefTable WHERE ProductId IN (select STRING_SPLIT(@DupIDS ,',') 的文档,其中指出:

  

如果锁定模式类型是悲观的,并且找到了实体实例但无法锁定:

     
      
  • 如果数据库锁定失败导致事务级回滚,则会抛出lock()
  •   
  • 如果数据库锁定失败仅导致语句级回滚,则会抛出PessimisticLockException
  •   

谁决定锁定失败是导致事务级回滚还是语句级回滚?

这是数据库级设置,JPA设置还是某些规范规则,它们定义了锁定失败导致特定回滚的条件?

0 个答案:

没有答案