前几天有个老哥面试遇到了"怎样配置才能让他只在数据库操作失败得时候进行回滚,其他情况不回滚"这个问题,这个问题的解决方案很简单,以前在spring项目中我们使用事务都是使用Transactional这个注解,而其中有一个属性rollbackFor ,这个就是需要回滚的情况,一般情况下我们都使用
@Transactional(rollbackFor = Exception.class)
这个注解是让我们在方法中遇到异常就回滚,而其他情况会滚我们只需要改变Exception.class比如我们想要只有遇到数据库异常的时候才回滚我们是吧Exception.class改变为SQLException.class就行
@Transactional(rollbackFor = SQLException.class)