1.@Transactional默认情况下,只对 Error或者RuntimeException 异常生效,如果需要对其他异常生效需要在注解后面加上要生效的异常
@Transactional(rollbackFor = Exception.class)
2.Transactional生效的原理是遇到指定异常,然后自动回滚,如果代码中使用try{} catch()将异常捕捉,则不会进行自动回滚,此时可以在需要回滚的地方手动回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()
3.想要注解生效,需要在启动类加上启动注解
@EnableTransactionManagement //开启回滚注解