需要有人解释一下我关于@Transactional (spring)的情况



我有一个控制器调用service_A, service_A调用service_B,在service_B有3个方法。

A method_A依次调用method_B和method_C。

当method_B发生异常时,我想回滚,我尝试了很多方法。

  1. 在method_B上添加@Transactional,但不添加rollback
  2. 在method_A上添加@Transactional,回滚,但在method_C之前不提交(method_C需要使用提交的数据)
  3. 添加@Transactional(with REQUIRED_NEW)在method_A, method_B结果为1,2

我使用PlatformTransactionManagerTransactionTemplate进行手动事务(删除@Transactional)。

最新更新