事务传播(propagation)机制:
required :支持当前事务,请求事务,没有就新建一个
supports: 支持当前事务,有木有都可以,有就支持当前事务
mandatory: 支持当前事务,强制要求有事务,否则抛异常
requires_new : 不支持当前事务,会将当前事务挂起,新建一个事务,
not_supported:不支持当前事务,在无事务状态下运行。
never:不支持当前事务,有就抛异常
nested: 如果当前事务存在,则执行的代码作为子事务嵌套在当前事务中执行:
外层事务提交,嵌套子事务才提交,外层事务异常回滚,嵌套的子事务也无法提交,会回滚;
嵌套的子事务会在执行时,保存一个savepoint,子事务提交失败,会回滚到savepoint点,如果外层事务调用子事务方法没有捕获异常,那么外层事务也将回滚,捕获异常,则不会回滚。
int PROPAGATION_REQUIRED = 0; int PROPAGATION_SUPPORTS = 1; int PROPAGATION_MANDATORY = 2; int PROPAGATION_REQUIRES_NEW = 3; int PROPAGATION_NOT_SUPPORTED = 4; int PROPAGATION_NEVER = 5; int PROPAGATION_NESTED = 6;



