spring對於事務異常的處理
- unchecked 運行期Exception spring默認會進行事務回滾 比如:RuntimeException
- checked 用戶Exception spring默認不會進行事務回滾 比如:Exception
如何改變spring的這種默認事務行為?可以通過在方法上
添加@Transactional(noRollbackFor=RuntimeException.class)讓spring對於RuntimeException不回滾事務
添加@Transactional(RollbackFor=Exception.class)讓spring對於Exception進行事務的回滾
在項目中,@Transactional(rollbackFor=Exception.class),如果類加了這個注解,那么這個類里面的方法拋出異常,就會回滾,數據庫里面的數據也會回滾
