REQUIRED (默认值): 如果当前有事务,就在事务中执行,如果当前没有事务,新建一个事务.
白:当有事务二事务三时,依旧执行事务一。
**REQUIRES_NEW:**必须在事务中执行,如果当前没有事务,新建事务,如果当前有事务,把当前事务挂起.
**白:**当有事务二时,事务一挂起执行事务二,事务二执行完毕,释放事务一。
当有事务三时,事务一挂起,执行事务三。完毕后再执行事务一。
常用就上面两个。
NOT_SUPPORTED:必须在非事务下执行,如果当前没有事务,正常执行,如果当前有事务,把当前事务挂起.
NEVER:必须在非事务状态下执行,如果当前没有事务,正常执行,如果当前有事务,报错.
NESTED:必须在事务状态下执行.如果没有事务,新建事务,如果当前有事务,创建一个嵌套事务.
MANDATORY:必须在事务内部执行,如果当前有事务,就在事务中执行,如果没有事务,报错.
SUPPORTS:如果当前有事务就在事务中执行,如果当前没有事务,就在非事务状态下执行.