Spring事务的传播
1、@Transactional(propagation = Propagation.REQUIRED) (默认)
使用当前事务。如果当前没有事务则自己新建一个事务,如果当前有事务则加入这个事务。
2、@Transactional(propagation = Propagation.SUPPORTS)
如果当前有事务,则使用当前事务,如果当前没有事务,则不使用事务。
3、@Transactional(propagation = Propagation.MANDATORY)
该传播属性强制必须使用事务,如果不存在事务,则抛出异常。
4、@Transactional(propagation = Propagation.REQUIRES_NEW)
如果当前有事务,则挂起该事务,自己新建一个事务用。
5、@Transactional(propagation = Propagation.NOT_SUPPORTED)
如果当前有事务,则挂起该事务,不执行事务。
6、@Transactional(propagation = Propagation.NEVER)
如果当前存在事务,则抛出异常。
7、@Transactional(propagation = Propagation.NESTED)
如果当前有事务,则会开启一个子事务(即嵌套事务,子事务独立提交或回滚,如果主事务提交或回滚,会携带子事务一起提交或回滚 );如果当前没有事务,则等同于REQUIRED。
                    
                
                
            
        
浙公网安备 33010602011771号