这里以 A.a 事务内调用 B.b 事务举例
- required 默认级别. a 事务没有开启事务, 那么 b 事务开启新事务; a 事务有事务, 那么 b 事务使用已有的 a 事务
- requires_new 表示 a 事务挂起, b 事务总是开启新事务
- mandatory 表示 a 事务没有事务, 则抛出异常
- support 表示 a 事务有事务, 那么 b 使用 a 事务; 如果 a 事务没开启事务, 那么 b 也不使用事务
- nested 表示实际的嵌套事务, 有 savepoint, b 事务回滚, a 事务可以正常提交
- never 表示不使用事务, 如果有事务, 会抛出异常
- not_support 表示不使用事务, 如果有事务, 则挂起之前的事务