在Spring中,事務傳播行為定義了方法如何參與現有的事務或創建新事務。Spring框架提供了多種事務傳播級別,常見的有以下幾種:
1. REQUIRED(默認級別):如果當前存在事務,則加入該事務;如果當前沒有事務,則創建一個新事務。
2. SUPPORTS:支持當前事務,如果當前沒有事務,則以非事務方式執行。
3. MANDATORY:強制使用當前事務,如果當前沒有事務,則拋出異常。
4. REQUIRES_NEW:創建一個新事務,如果當前存在事務,則暫停當前事務。
5. NOT_SUPPORTED:以非事務方式執行,如果當前存在事務,則掛起該事務。
6. NEVER:以非事務方式執行,如果當前存在事務,則拋出異常。
7. NESTED:如果當前存在事務,則在嵌套事務中執行;如果當前沒有事務,則創建一個新事務。如果外層事務回滾,則嵌套事務也會回滾,但是嵌套事務可以獨立提交。