事務傳播行爲種類接口
Spring在TransactionDefinition接口中規定了7種類型的事務傳播行爲,事務
它們規定了事務方法和事務方法發生嵌套調用時事務如何進行傳播:it
表1事務傳播行爲類型io
事務傳播行爲類型table |
說明方法 |
PROPAGATION_REQUIRED異常 |
若是當前沒有事務,就新建一個事務,若是已經存在一個事務中,加入到這個事務中。這是最多見的選擇。tab |
PROPAGATION_SUPPORTSab |
支持當前事務,若是當前沒有事務,就以非事務方式執行。 |
PROPAGATION_MANDATORY |
使用當前的事務,若是當前沒有事務,就拋出異常。 |
PROPAGATION_REQUIRES_NEW |
新建事務,若是當前存在事務,把當前事務掛起。 |
PROPAGATION_NOT_SUPPORTED |
以非事務方式執行操做,若是當前存在事務,就把當前事務掛起。 |
PROPAGATION_NEVER |
以非事務方式執行,若是當前存在事務,則拋出異常。 |
PROPAGATION_NESTED |
若是當前存在事務,則在嵌套事務內執行。若是當前沒有事務,則執行與PROPAGATION_REQUIRED相似的操做。 |