在Spring框架中,事務(wù)傳播機(jī)制有以下幾種類型:
REQUIRED(默認(rèn)值):如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則創(chuàng)建一個(gè)新的事務(wù)。
SUPPORTS:如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則以非事務(wù)的方式執(zhí)行。
MANDATORY:如果當(dāng)前存在事務(wù),則加入該事務(wù);如果當(dāng)前沒有事務(wù),則拋出異常。
REQUIRES_NEW:創(chuàng)建一個(gè)新的事務(wù),如果當(dāng)前存在事務(wù),則掛起當(dāng)前事務(wù)。
NOT_SUPPORTED:以非事務(wù)的方式執(zhí)行,如果當(dāng)前存在事務(wù),則掛起當(dāng)前事務(wù)。
NEVER:以非事務(wù)的方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。
NESTED:如果當(dāng)前存在事務(wù),則在嵌套事務(wù)內(nèi)執(zhí)行;如果當(dāng)前沒有事務(wù),則創(chuàng)建一個(gè)新的嵌套事務(wù)。