【事务】Springboot处理事务@Transactional
Propagation属性 | outMethod() | innerMethod |
---|
Propagation.MANDATORY | .抛出异常 | .在outMethod的Transaction中运行 | Propagation.NEVER | .不在Transaction中运行 | .抛出异常 | Propagation.NOT_SUPPORTED | .不在Transaction中运行 | .outMethod的Transaction暂停直至innerMethod执行完毕 | Propagation.REQUIRED (?默认值?) | .新开一个Transaction并在其中运行 | .在outMethod的Transaction中运行 | Propagation.REQUIRES_NEW | .新开一个Transaction并在其中运行 | .outMethod的Transaction暂停直至innerMethod中新开的Transaction执行完毕 | Propagation.SUPPORTS | .不在Transaction中运行 | .在outMethod的Transaction中运行 |
指定方法不使用事务
异常情况下不会自动回滚
@Transactional(propagation= Propagation.NOT_SUPPORTED)
异常回滚事务
@Transactional(rollbackFor = Exception.class)
|