【问题标题】:Example of Propagation in spring data JPASpring Data JPA 中的传播示例
【发布时间】:2021-11-12 08:49:16
【问题描述】:

我正在尝试了解 Spring Data JPA 中 @Transactional 注释的传播属性。我已经阅读了足够多的理论。但我不明白(我也无法在互联网上的任何地方找到)我需要使用 PROPAGATION_REQUIRED 代替 PROPAGATION_REQUIRES_NEW 的真实场景。我理解 PROPAGATION_REQUIRED 可以利用现有事务并且 PROPAGATION_REQUIRES_NEW 每次都会启动一个新事务的理论。但我无法理解两件事 -

  1. 作为一名程序员,这对我有什么影响?或者在哪些用例中,一个比另一个更受欢迎?
  2. 我们说的“TRANSACTION”到底是spring事务还是数据库事务

【问题讨论】:

    标签: java spring spring-data-jpa spring-data


    【解决方案1】:

    在Spring中,如果一个带有@Transactional注解的方法调用另一个带有@Transactional注解的方法,事务会在第一个方法的开始处启动,并在第二个方法完成后提交。

    如果您有一系列事务性方法但您想在序列的中途提交事务,则要求新事务可能会有所帮助。 或者你有一个方法应该总是打开它自己的事务并且你想确保它这样做,即使它被另一个事务方法调用。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2015-02-21
    • 2019-05-05
    • 2014-07-12
    • 2018-12-24
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2014-09-24
    相关资源
    最近更新 更多