什么時候需要添加事務呢?
一般情況下,如果該方法有兩條SQL語句或者以上都需要添加(個人感覺:)).
首先需要在我們的啟動類加上
@EnableTransactionManagement //開啟事務管理
接着我們在需要添加事務的方法上加上
@Transactional(propagation = Propagation.REQUIRED)
參數是規定我們的事務傳播行為,一般是用required和support這兩種行為,如果是增/刪/改的話一般是用require,查的話一般是用support.
如果對事務的傳播行為不太了解或者記不清了可以看看下面
Propagation
Required 需要 如果存在一個事務,則支持當前事務。如果沒有事務則開啟
Supports 支持 如果存在一個事務,支持當前事務。如果沒有事務,則非事務的執行
Mandatory 必要的 如果已經存在一個事務,支持當前事務。如果沒有一個活動的事務,則拋出異常。
required_new 總是開啟一個新的事務。如果一個事務已經存在,則將這個存在的事務掛起。
Not_support 總是非事務地執行,並掛起任何存在的事務。
Never 絕不 總是非事務地執行,如果存在一個活動事務,則拋出異常
Nested 嵌套的 如果有就嵌套、沒有就開啟事務