[b]1.事务的传播类型[/b]
当一个方法(A)中,调用了另一个具有事务的方法(B)。
事务的传播会有以下6中情况。
"required":
默认的事务类型。
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B将创建一个新的事务。
"supports":
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B不在事务范围内执行。
"mandatory":
强制类型。
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B抛出异常。
"requires new"
如果方法A启动了事务,挂起A的事务,创建一个新的事务。
"no supported"
不在事务范围内执行。
如果方法A启动了事务,挂起事务A,方法B不在事务内运行。
"never"
不在事务范围内执行。
如果方法A启动了事务,方法B抛出异常。
[b]2。隔离级别[/b]
"default”
默认的,
当一个方法(A)中,调用了另一个具有事务的方法(B)。
事务的传播会有以下6中情况。
"required":
默认的事务类型。
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B将创建一个新的事务。
"supports":
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B不在事务范围内执行。
"mandatory":
强制类型。
如果方法A启动了事务,方法B会运行在当前方法范围内。
如果方法A没有启动事务,方法B抛出异常。
"requires new"
如果方法A启动了事务,挂起A的事务,创建一个新的事务。
"no supported"
不在事务范围内执行。
如果方法A启动了事务,挂起事务A,方法B不在事务内运行。
"never"
不在事务范围内执行。
如果方法A启动了事务,方法B抛出异常。
[b]2。隔离级别[/b]
"default”
默认的,