从事务方法开始新事务

时间:2018-05-18 17:10:22

标签: java spring jpa spring-data

目前我有一个控制器在服务A中调用@Transactional带注释的方法,该方法将实体插入数据库,然后调用更新实体的服务B中的另一个方法。

我只想调用服务A中的方法,然后服务A将调用服务B中的方法。第一个事务应该在服务A的方法中发生,而另一个事务应该在一个方法中发生。服务B。

我试图理解@Transactional注释,isolationpropagation以实现这一目标,但我无法使其发挥作用。

1 个答案:

答案 0 :(得分:2)

如果您想将服务B中的交易与服务A中的交易分开,那么您必须使用Propagation.REQUIRES_NEW开始新交易。

将您的服务B方法标记为:

@Transaction(propagation = Propagation.REQUIRES_NEW)