1.Required:共享型
若1处在一个事务中调用了2,则2直接和1在同一个事务中。若1没有任何事务,则系统会默认给2创建一个新事务。此策略适合大多数情况。
2.RequiredNew:独立型
若1在一个事务中调用了2,则系统先将1的事务挂起,不管、之后为2设置一个新事务,执行完毕后恢复1的事务。若1没有事务,则会为2新开一个事务。
3.Mandatory:强制共享型
若1处在一个事务中调用了2,则2直接和1在同一个事务中。若1没有任何事务,直接抛出异常——Transaction RequiredException。
4.NotSupported:无助独立型
若1在一个事务中调用了2,则系统先将1的事务挂起,不管、之后2不开启任何事务,执行完毕后恢复1的事务。若1没有事务,2也直接执行。
5. Supported:啃老型
若1处在一个事务中调用了2,则2直接和1在同一个事务中。若1没有任何事务,直接执行2。
6.Never:捣乱型
若1处在一个事务中调用了2,则抛出RemoteException。若1没有任何事务,直接执行2也不会为它开启任何事务。