【问题标题】:Starting a new transaction from transactional method从事务方法开始新事务
【发布时间】:2018-05-19 01:19:01
【问题描述】:

目前我有一个控制器,它在服务 A 中调用 @Transactional 带注释的方法,将实体插入数据库,然后在服务 B 中调用另一个方法来更新实体。

我想只调用服务 A 中的方法,然后它会调用服务 B 中的方法。第一个事务应该发生在服务 A 的方法中,另一个事务应该发生在服务 A 的方法中服务 B。

我试图理解@Transactional 注释,它的isolationpropagation 以实现这一点,但我无法使其工作。

【问题讨论】:

    标签: java spring jpa spring-data


    【解决方案1】:

    如果要将服务 B 中的事务与服务 A 中的事务分开,则必须使用 Propagation.REQUIRES_NEW 启动新事务。

    使用以下标记您的服务 B 方法:

    @Transaction(propagation = Propagation.REQUIRES_NEW)
    

    【讨论】:

    猜你喜欢
    • 2014-12-11
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多