事務(wù)遇到RuntimeException是要回滾的
對于攔截方法的事務(wù):就是做2件事:
首先在進入方法的時候會詢問:我是否需要事務(wù)?
在離開方法的時候還會詢問:我是否回滾事務(wù)還是告訴我這里可以提交的。
所以當發(fā)生造成事務(wù)回滾的Error的時候,在返回上層或者更高層的catch之前,就已經(jīng)事務(wù)回滾,而不受不繼續(xù)throw exception的catch而改變
但是如果發(fā)生事務(wù)的當前方法catch了這個RuntimeException,并且不繼續(xù)拋出,事務(wù)也是照樣不回滾的。