Spring Transactional

1.默認spring事務只在發生未被捕獲的 RuntimeException 時纔回滾。  
spring aop  異常捕獲原理:被攔截的方法需顯式拋出異常,並不能經任何處理,這樣aop代理才能捕獲到方法的異常,才能進行回滾,默認狀況下aop只捕獲 RuntimeException 的異常,但能夠經過配置來捕獲特定的異常並回滾 。spring

添加@Transactional(rollbackFor = Exception.class)進行普通異常回滾。

2.嵌套事務代理

內部事務獨立回滾,能夠用 Propagation.REQUIRES_NEW事務

@Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)3. 方法的@Transactional會覆蓋類上的@Transactional
相關文章
相關標籤/搜索