Transactional事务,事务嵌套的时候,如果主事务出现问题,子事务执行不需要回滚怎么做?
如果调用的方法在不在同一个service当中,则只需要在子事务当中的方法上方添加注解即可
下方即是:这就话代表:重新开启一个新的事务
@Transactional(propagation = Propagation.REQUIRES_NEW)
如果调用的方法在同一个service的时候需要怎么处理
1、pom包引入 <!-- 引入aop,解决本地事务失效问题 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 2、在启动类上添加 // 开启动态代理,使用aspectj作动态代理 @EnableAspectJAutoProxy(exposeProxy = true) 3、在你要开启新事物的方法上添加 @Transactional(propagation = Propagation.REQUIRES_NEW) 4、在主方法当中写 (OrderService就是你这个方法所在位置的接口类名称) OrderService orderService = (OrderService) AopContext.currentProxy(); 5、通过orderService调用你需要开启新事物的方法。