1. 手动捕获了这个异常事物不会起作用。
2.@Transaction注解只对方法名为pubic的才生效。
3. 默认情况下,只有来自外部的方法调用才会被AOP代理捕获,也就入口方法,或者类必须用@Transactional注解进行修饰。
4.@Transactional(rollbackFor = Exception.class) ,rollbackFor所指定的异常必须是发生异常的父类或者是本身。
如上无法解决,可以手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();