@Transactional
是管理事務的註解
在你的類上加上@Transactional(rollbackFor = Exception.class)
註解,那麼你的類中所有public都會被加上事務,出現異常就會回滾操作
在方法上加上@Transactional(rollbackFor = Exception.class)
註解,那麼這個方法就會加上事務,出現異常就會回滾
默認情況下(@Transactional
)是出現運行時異常
纔會進行回滾操作,非運行時異常
如IOException
、SQLException
、自定義的異常等不會進行回滾操作,需要非運行時異常
也進行回滾操作就需要加上rollbackFor=Exception.class
,表明出現異常即會回滾,因爲所有異常都是Exception
的子類