【发布时间】:2014-08-30 10:44:23
【问题描述】:
我的应用程序中的某些实体需要在某个事务的范围内被锁定。 我需要锁定参与事务的所有实体,并且不想创建特殊方法来锁定我的 DAO 上的实体。 我正在使用 spring 的声明性事务并为该特定方法调用设置隔离级别,但是当获取数据时生成的 SQL 查询是正常的 SELECT 而不是 SELECT XXX FOR UPDATE。 我是否必须在休眠时的事务中手动指定每个参与实体的锁定? 这不应该从事务隔离中控制吗? 在休眠的会话上将锁定模式设置为 UPDATE 时,我可以看到正确的查询,这是否意味着即使我已经指定了隔离,我也需要手动指定锁定。
最好的
【问题讨论】:
-
所以这要么是一个非常棘手的问题,要么是非常深刻的! :D
标签: java spring hibernate jpa spring-transactions