是否可以通过Spring JpaTemplate方法使用PESIMISTIC锁定选项?

我知道PESIMISTIC锁定可以使用EntityManager的方法执行,例如


  帐户acc = em.find(Account.class,123);
  
  em.lock(acc,PESIMISTIC);

最佳答案

JpaTemplate上没有专门针对此内容的方法,但是如果需要访问它,可以使用JpaTemplate.execute(),它接受EntityManager附带的回调,并且您可以在该回调中做任何您想做的事情。

根据您的具体情况,更好的解决方案可能是使用Spring's transaction layer。如果使用@Transactional注释DAO(请参见上一链接),则JpaTransactionManager应该为您管理实体锁定,具体取决于isolation属性的@Transactional属性。

08-06 00:57