业务需要执行多条DML语句,如果其中一条失败就要回滚到最开始
首先在Service类上加@Transactional(rollbackFor = Exception.class)注解
在Service实现类中第一条DML操作之前,设置回滚点
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
//.....多条DML语句,出错则回滚
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
在本方法之上加@Transactional注解,一开始我没加,于是出现了标题的异常No transaction aspect-managed TransactionStatus in scope
整个过程我偷懒没用try catch,不知道会不会有什么隐藏的坑,请多指教~