Spring MVC,按事务锁定数据库表(在一个事务中执行更多操作)



在我的应用程序中,用户可以修改某些表中的数据。我想要系统,以防止两个或多个用户同时修改此表。我想在页面上有一些按钮,可以锁定该表,并且只有锁定此表的用户才能更改数据。我的想法是,通过这个提到的按钮应该在该表上启动新事务,并且只有此用户可以在该表上进行更新或插入。此事务应存储在例如服务对象的某个变量中,并且在保存数据期间此事务应完成。这意味着,我希望在 dao 或服务类中使用一些方法,它将能够创建新的(命名的)事务并将其存储到变量中。下一个服务方法调用应使用此事务,并且在保存数据时,事务将被关闭。有没有可能像我在春天冬眠时写的那样做?

现在,我使用org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean作为实体管理器,使用org.springframework.orm.jpa.JpaTransactionManagerbean 作为事务管理器。为了定义事务,我在服务类中使用@Transactional注释。

在 Hibernate 中,我们可以使用悲观锁定策略在插入或更新期间获取资源锁定。

最新更新