1 回答

TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超5個(gè)贊
@Transactionalpublic?class?TestServiceBean?implements?TestService?{??? ????private?TestDao?dao;??? ????public?void?setDao(TestDao?dao)?{????????this.dao?=?dao; ????}??? ????@Transactional(propagation?=?Propagation.NOT_SUPPORTED)????public?List<Object>?getAll()?{????????return?null; ????}??? }
@Transactional(propagation=Propagation.REQUIRED)?
如果有事務(wù), 那么加入事務(wù), 沒(méi)有的話新建一個(gè)(默認(rèn)情況下)
@Transactional(propagation=Propagation.NOT_SUPPORTED)?
容器不為這個(gè)方法開(kāi)啟事務(wù)
@Transactional(propagation=Propagation.REQUIRES_NEW)?
不管是否存在事務(wù),都創(chuàng)建一個(gè)新的事務(wù),原來(lái)的掛起,新的執(zhí)行完畢,繼續(xù)執(zhí)行老的事務(wù)
@Transactional(propagation=Propagation.MANDATORY)?
必須在一個(gè)已有的事務(wù)中執(zhí)行,否則拋出異常
@Transactional(propagation=Propagation.NEVER)?
必須在一個(gè)沒(méi)有的事務(wù)中執(zhí)行,否則拋出異常(與Propagation.MANDATORY相反)
@Transactional(propagation=Propagation.SUPPORTS)?
如果其他bean調(diào)用這個(gè)方法,在其他bean中聲明事務(wù),那就用事務(wù).如果其他bean沒(méi)有聲明事務(wù),那就不用事務(wù).
添加回答
舉報(bào)