EJB 事务管理分为两种,一种由容器管理,用@TransactionAttribute声明事务的类型。另外一种由bean管理,由@TransactionManagement声明,由自己手动开启,提交,回滚事务。
@TransactionAttribute类型:
(1)Required类型 :如果存在事务,则传播,如果没有事务,则开启事务。
(2) Support类型 : 如果没有事务,则没有事务。如果有事务,则传播事物。
(3)Required_New类型: 不管原来有无事务都开启新的事务,如果原来有事务,则挂起原来事务。新事物和原事务互不影响。
(4)not_support类型:不管原来有无事务,如果原来有事务则挂起.当前方法运行在无事务的环境中,结束后返回。
(5)madatory类型:必须运行在有事务的环境中,如果当前没有事务,则抛出异常。
(6)never类型:不能运行在事务环境中,如果当前有事务,则抛出异常。