Exception 分为运行时异常 RuntimeException 和非运行时异常。
事务管理对于应用开发来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性。
当 @Transactional
注解作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别。来使用该标注去覆盖类级别的定义。如果类或者方法加了这个注解,那么当这个类里面的方法抛出异常后,事务就会回滚,数据库里面的数据也会回滚。
在 @Transactional
注解中,如果不配置 rollbackFor
属性,那么事务只会在遇到 RuntimeException
的时候才会回滚,加上 rollbackFor=Exception.class
,可以让事务在遇到非运行时异常时也会进行回滚。
网友评论