spring 事務傳播(Propagation)


propagation 一共有以下幾種選項:

1. REQUIRED(默認): 使用當前的事務,如果當前沒有事務,則自己新建一個事務,子方法必須運行在一個事務中;如果當前存在事務,則加入這個事務,成為一個整體
2. SUPPORTS: 如果當前有事務,則使用事務;如果當前沒有事務,則不使用事務。主要用於查詢,因為查詢不需要事務。
3. MANDATORY: 強制要求必須存在一個事務,如果不存在,則拋出異常
4. REQUIRES_NEW: 如果當前有事務,則掛起該事務,並自己創建一個新的事務給自己使用;如果當前沒有事務,則同 REQUIRED
5. NOT_SUPPORTED: 如果當前有事務,則把事務掛起,自己不適用事務去執行數據庫操作
6. NERVER: 如果當前有事務存在,則拋出異常
7. NESTED: 如果當前有事務,則開啟子事務(嵌套事務),嵌套事務是獨立提交或者回滾;如果當前沒有事務,則同 REQUIRED
           但是如果主事務提交,則會攜帶子事務一起提交。
           如果主事務回滾,則子事務會一起回滾。相反,子事務異常,則父事務可以回滾或不回滾。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM