Spring事务注解方式使用如下:
@Transactional(Propagation = Propagation.REQUIRED, RollbackFor = Exception.class),其中Propagation就是代表事务传递方式,其枚举值有如下7种。
1、REQUIRED(默认事务传递方式)
如果当前存在事务就加入该事务,不存在就创建一个事务
2、SUPPORTS
如果当前存在事务就加入该事务,不存在就以非事务方式执行
3、MANDATORY
如果当前存在事务就加入该事务,不存在事务就抛异常
4、REQUIRES_NEW
创建一个新事务,如果存在当前事务,则挂起该事务
5、NOT_SUPPORT
始终以非事务方式执行,如果当前存在事务,则挂起当前事务
6、NEVER
不使用事务,如果当前事务存在,则抛出异常
7、NESTED
如果当前事务存在,则在嵌套事务中执行,不存在就创建一个事务