java异常与@Transactional回滚

#java异常与@Transactional


概述:java的异常分为Error Exception 。这两类都是接口Throwable 的子类。

异常分类方式:
1.运行时异常 非运行时异常

2.可查的异常(checked exceptions)不可查的异常(unchecked exceptions)

总结 :

  1. 基本除IOExceptionSQLException外,其他都是运行时异常
  2. 运行时异常属于unchecked exceptions,所以其他属于checked exceptions。可以理解为:运行时异常无法预知的错误,所以为不可查异常(unchecked exceptions)。

@Transactional回滚

1.Error一定会回滚。
2.异常中:运行时异常(unchecked exceptions)一定会回滚。而非运行时异常(checked exceptions),如IOExceptionsSQLExceptions不会回滚。
checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)

unchecked例外不回滚: @Transactional(noRollbackFor=RunTimeException.class)

注意: 如果异常被try-catch了,事务就不回滚了,必须抛向被@Transactional注解的层。


参考:

@Transactional(rollbackFor=Exception.class)的使用

Java异常之checked与unchecked

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值