当前位置: 首页 > 知识库问答 >
问题:

当@Transactional annotation[重复]中指定了检查异常的回滚时,是否在运行时异常上进行Spring回滚

经昱
2023-03-14

给定在类上定义的以下@transaction注释。

@Transactional(rollbackFor = CheckedException.class)

Spring还会在抛出未检查(runtime)异常加上checkedException.class时回滚吗?或者给定上面的注释,它是否只回滚列出的异常,即在本例中checkedexception.class

共有1个答案

周阳成
2023-03-14

任何运行时异常都会导致回滚,无论您是否在rollbackFor中提到选中的异常。

 类似资料:
  • 问题内容: 由于程序员被迫捕获所有已检查的异常,因此在出现任何问题时都会抛出已检查的异常。我想回退任何这些期望。在每个注释上书写都非常容易出错,因此我想告诉spring:“每写一次,我的意思是”。 我知道,我可以创建一个自定义批注,但这似乎是不自然的。 那么有没有办法告诉spring它应该如何在 全球范围内 处理已检查的expeting ? 问题答案: 自定义快捷方式注释 我知道,我可以创建一个自

  • 问题内容: 通常,如果有任何类extends ,它将成为检查异常。还扩展了Exception。那么它是如何? 难道他们在这种特殊情况下会在 编译器中 自定义检查? 编辑: 我对已 检查的v / s未检查的异常 以及它们的优缺点等有适当的了解。我不接受它们之间的区别。 问题答案: 在规范的第11.1.1节中有明确规定: 及其所有子类共同是 运行时异常类 。 在 未经检查的异常类 是运行时异常类和错误

  • 我有一个RESTFul服务(由泽西实施)。服务用@Transactional标记。 我声明了一个ExceptionMapper,如下所示: 未声明exceptionmapper时,事务将回滚。然而,当我有一个ExceptionMapper时,事务是提交而不回滚。 我假设事务未回滚的原因是,当异常被ExceptionMapper捕获时,spring事务代理dosnt检测到异常被抛出,因此事务未回滚。

  • 我使用的是Spring3.0.5和Hibernate3.6。在我的项目中,有一个场景,我必须回滚在抛出的任何异常或错误发生的事务。这是示例代码,除了当我抛出异常时事务不会回滚之外,一切都很好,但是如果抛出任何异常,比如mysql.IntegrityConstraintException,那么事务会回滚,为什么在我的情况下没有发生这种情况? hibernate.cfg 因此,正如我所说,我的问题是,

  • 代码activity_lastcall.xml: 代码lastcall.java: 代码AndroidManifest.xml: 我需要得到最后一个电话,并在TextView中写入号码和姓名。