這些辨別最早是在EJB中定義的,你可以參考EJB的Transaction申明:
事務的屬性和基本概念
Required:
如果在一個事務中調用,就把該方法加到此事務中來,如果還沒有啟動事務,就啟動一個新事務
RequiredNew:
不管目前有沒有事務,都會啟動一個新事務,如果目前有事務,會被挂起直到方法結束
NotSupported:
不能在事務中執行此方法。如果有事務,将會被挂起直到方法結束
Supports:
如果目前有事務,此方法會加到目前事務,如果沒有,容器也不會啟動新事務
Mandatory:
必須在事務中調用此方法,否則抛出異常:TransactionRequiredException
Never:
必須不在事務中調用此方法,否則抛出RemoteException(遠端調用)或EJBException(本地調用)
本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2010/12/20/1911888.html,如需轉載請自行聯系原作者