这些标识最早是在EJB中定义的,你可以参考EJB的Transaction申明:
事务的属性和基本概念
Required:
如果在一个事务中调用,就把该方法加到此事务中来,如果还没有启动事务,就启动一个新事务
RequiredNew:
不管当前有没有事务,都会启动一个新事务,如果当前有事务,会被挂起直到方法结束
NotSupported:
不能在事务中执行此方法。如果有事务,将会被挂起直到方法结束
Supports:
如果当前有事务,此方法会加到当前事务,如果没有,容器也不会启动新事务
Mandatory:
必须在事务中调用此方法,否则抛出异常:TransactionRequiredException
Never:
必须不在事务中调用此方法,否则抛出RemoteException(远程调用)或EJBException(本地调用)
事务的属性和基本概念
Required:
如果在一个事务中调用,就把该方法加到此事务中来,如果还没有启动事务,就启动一个新事务
RequiredNew:
不管当前有没有事务,都会启动一个新事务,如果当前有事务,会被挂起直到方法结束
NotSupported:
不能在事务中执行此方法。如果有事务,将会被挂起直到方法结束
Supports:
如果当前有事务,此方法会加到当前事务,如果没有,容器也不会启动新事务
Mandatory:
必须在事务中调用此方法,否则抛出异常:TransactionRequiredException
Never:
必须不在事务中调用此方法,否则抛出RemoteException(远程调用)或EJBException(本地调用)