- 在方法上要开启事务
使用注解 @Transactional
- 在捕获异常里面手动回滚
//手动回滚事务 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- 示例
- 还可以自定义事务回滚点,就是回滚部分操作
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
在捕获(catch)中手动回滚
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);