带有hibernate的Spring MVC - 按事务锁定数据库表(在一个事务中执行更多操作)。

时间:2017-03-17 14:42:31

标签: java hibernate spring-mvc jpa transactions

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

现在,我使用org.springframework.orm.jpa.JpaTransactionManager作为实体管理器,使用@Transactional bean作为事务管理器。为了定义事务,我在服务类中使用{{1}} anotation。

1 个答案:

答案 0 :(得分:0)

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