首页 > 解决方案 > 从事务方法开始新事务

问题描述

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

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

我试图理解@Transactional注释,它isolationpropagation为了实现这一点,但我无法让它发挥作用。

标签: javaspringjpaspring-data

解决方案


如果要将服务 B 中的事务与服务 A 中的事务分开,则必须使用Propagation.REQUIRES_NEW.

使用以下标记您的服务 B 方法:

@Transaction(propagation = Propagation.REQUIRES_NEW)

推荐阅读