问题:根据我对@Transactional的理解,它默认的传播模式是调用方如果存在事务,那么就沿用事务,没有则开启。那么也就是说以下中autoDispatchJobs有表明事务注解,而该autoDispatchJobs中调用的splitJobsTo方法虽然单独也标有注解,但是它还是会沿用autoDispatchJobs的注解是不是?只要发生运行时异常之类的都会回滚吧。但我发现某个环节没有回滚
//接口实现类,以下是该类部分代码
@Override
@Transactional
public void autoDispatchJobs(Long shipperOrderId) {
//1、调用其他微服务查询某些信息
//2、调用拆单接口
this.splitJobsTo(..省略参数)
}
//拆单接口
@Override
@Transactional
public void splitJobsTo (Long shipperOrderId, Long dispatchId, Integer splitType) {
//创建地址
this.createAddress(..省略参数);
//查询。。。
//创建订单等等
}
//创建地址,该方法只是该类写的公用方法
@Transactional
public ShipperOrderAddr createAddress(){
//执行mybatisplus insert() 方法
}