当一个带有事务的方法中调用了多个本身带有事务的方法时,必须指定事务应当如何传播
REQUIRED 有就用,没有就新建
如果调用该方法时,没有事务在运行,那么启动一个新事务,并在新事务中运行;
如果调用该方法时,已有事务在运行,那么这个方法i加入到已有事务中运行。
REQUIRED_NEW 自己建事务,原本的有则挂起
如果调用该方法时,没有事务在运行,那么启动一个新事务,并在新事务中运行;
如果调用该方法时,已有事务在运行,将这个事务挂起,再启动一个新事务,并在新事务中运行。
SUPPORTS 有就用,没有就不用
如果调用该方法时,没有事务在运行,那么这个方法就不在事务中运行; 如果调用该方法时,已有事务在运行,那么这个方法i加入到已有事务中运行。
NOT_SUPPORTS 不能用,有则挂起
调用的这个方法不能在事务中运行,如果调用该方法时已有事务,那么将这个事务挂起。
MANDATORY 必须用,没有则抛异常
调用的这个方法必须在事务中运行,如果调用该方法时没有事务在运行就会抛出异常。
NEVER 不能用,有则抛异常
调用的这个方法不能在事务中运行,如果调用该方法时已有事务在运行就会抛出异常。
NESTED 必须新建,有则新建嵌套
如果调用该方法时,没有事务在运行,那么启动一个新事务,并在新事务中运行;
如果调用该方法时,已有事务在运行,那么启动一个新事务,再将新事物嵌入到已有事务中运行。