gpt4 book ai didi

spring - 如何避免org.springframework.transaction.UnexpectedRollbackException?

转载 作者:行者123 更新时间:2023-12-03 15:36:07 36 4
gpt4 key购买 nike

当使用@Transactional注释方法并且存在运行时异常时,spring会吃掉该异常并抛出:

org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only

如何避免此“一般”异常并传播原始异常,但保持回滚?

谢谢。

最佳答案

org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only



如果您有一个外部 @Transactional方法调用一个内部 @Transactional方法,则通常会发生这种情况。当内部方法抛出异常,但是外部方法捕获到该异常并正常返回时,Spring会感到困惑,并且由于两个方法相互矛盾,因此不知道是否应该回滚或提交事务。 (内部方法表示要回滚,而外部方法表示要提交)

因此,请检查是否存在任何捕获异常的外部 @Transactional方法。如果是,请从外部方法重新引发该异常,以使整个事务回滚。

关于spring - 如何避免org.springframework.transaction.UnexpectedRollbackException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56346702/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com