Transactional事务,事务嵌套的时候,如果主事务出现问题,子事务执行不需要回滚怎么做?


如果调用的方法在不在同一个service当中,则只需要在子事务当中的方法上方添加注解即可

下方即是:这就话代表:重新开启一个新的事务

@Transactional(propagation = Propagation.REQUIRES_NEW)

如果调用的方法在同一个service的时候需要怎么处理

1、pom包引入


    org.springframework.boot
    spring-boot-starter-aop

2、在启动类上添加
// 开启动态代理,使用aspectj作动态代理
@EnableAspectJAutoProxy(exposeProxy = true)

3、在你要开启新事物的方法上添加
@Transactional(propagation = Propagation.REQUIRES_NEW)

4、在主方法当中写  (OrderService就是你这个方法所在位置的接口类名称)
OrderService orderService = (OrderService) AopContext.currentProxy();

5、通过orderService调用你需要开启新事物的方法。