不起作用的情况
1、@Transactional默认对运行时异常起作用
解决方法:@Transactional(RollbackFor=Exception.class)
2、方法嵌套
接口中A、B两个方法,A无@Transactional标签,B有,通过A调用B方法,事务不起作用
3、异常被try-catch,不会起作用
解决方法:catch语句块中手动回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()
4、注解只对public方法起作用