微信小程序网站制作,茂名企业自助建站系统,想学app开发哪里有培训班,海报制作app在Spring框架中#xff0c;Transactional 注解用于标记方法或类#xff0c;以表明该方法或类内包含的数据库操作应当在一个事务中执行。事务的基本原则是“原子性”#xff0c;即所有操作要么全部成功#xff0c;要么全部失败。
1. Transactional#xff08;不指定 rollb…在Spring框架中Transactional 注解用于标记方法或类以表明该方法或类内包含的数据库操作应当在一个事务中执行。事务的基本原则是“原子性”即所有操作要么全部成功要么全部失败。
1. Transactional不指定 rollbackFor 属性
默认情况下如果在被Transactional注解的方法中抛出了未检查异常继承自 java.lang.RuntimeException 的异常或者ErrorSpring会自动回滚事务。 对于已检查异常非运行时异常继承自 java.lang.Exception 但不包括其子类 RuntimeException默认情况下Spring并不会回滚事务。 2. Transactional(rollbackFor {Exception.class})
当指定了 rollbackFor Exception.class 后Spring将会对任何继承自 java.lang.Exception 的异常都进行事务回滚无论是已检查异常还是未检查异常。 这意味着当方法中抛出任意类型的 Exception无论是否是运行时异常都会触发事务回滚。 总结来说两者的主要区别在于事务回滚策略的宽泛程度 总结 无参数版本仅对运行时异常和错误自动回滚。 指定 rollbackForException.class对所有的异常类型包括运行时异常和其他已检查异常都将导致事务回滚。