@Transactional
是管理事务的注解
在你的类上加上@Transactional(rollbackFor = Exception.class)
注解,那么你的类中所有public都会被加上事务,出现异常就会回滚操作
在方法上加上@Transactional(rollbackFor = Exception.class)
注解,那么这个方法就会加上事务,出现异常就会回滚
默认情况下(@Transactional
)是出现运行时异常
才会进行回滚操作,非运行时异常
如IOException
、SQLException
、自定义的异常等不会进行回滚操作,需要非运行时异常
也进行回滚操作就需要加上rollbackFor=Exception.class
,表明出现异常即会回滚,因为所有异常都是Exception
的子类