spring提供了方便的事务管理机制,只需一个注解就可以实现。如果你没有实现,请查看你的代码是否使用了try/catch处理了异常,是否将RuntimeException抛出,spring事务是根据是否捕获RuntimeException来触发的。
我们还可以通过手动控制事务回滚。
- 首先创建回滚点
// 设置回滚点
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
- 然后在需要回滚的时候回滚
// 手动回滚
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
就是这么简单!