@Transactional
使用 @EnableTransactionManagement开启注解驱动,并在想要加入事务的方法上(或者类、接口),标注@Transactional注解
| 事务传播行为类型 | 外部不存在事务 | 外部存在事务 | 备注 |
|---|---|---|---|
| REQUIRED(默认) | 开启新事务 | 融合到外部事务中 | 适用增删改查 |
| SUPPORTS | 不开启新事务 | 融合到外部事务中 | 适用于查询 |
| REQUIRES_NEW | 开启新事务 | 挂起外部事务,创建新事务 | 适用于内部事务和外部事务不存在业务关联情况,如日志 |
| NOT_SUPPORTED | 不开启新事务 | 挂起外部事务 | 不常用 |
| NEVER | 不开启新事务 | 抛出异常 | 不常用 |
| MANDATORY | 抛出异常 | 融合到外部事务中 | 不常用 |
| NESTED | 开启新事务 | 融合到外部事务中 | 不常用,外层影响内层,内层不影响外层 |