Spring 链式服务中的数据 Neo4j 和事务

Spring Data Neo4j and transactions in chained services

例如我有一个服务

public class ServiceA {

    @Transactional
    public void a() {
        ...
        serviceB.b()
        ...
    }
}

调用另一个服务的方法

public class ServiceB {

    @Transactional
    public void b() {
        ...
        graphRepository.save(..)
        ...
    }
}

调用 GraphRepository 的方法。

如果 GraphRepository 方法执行过程中没有任何问题,everithigs 运行良好,但如果 GraphRepository 中发生异常,则回滚不起作用,并且所有对远程数据库的调用都被阻止。

如果我删除了 b() 上的事务注释,即使在 GraphRepository 中发生异常,everithins 也能正常工作。

我无法解释这种行为。

你能帮帮我吗?

感谢 Luanne 和她的评论,我解决了这个问题

这是一个错误,已在 neo4j-ogm 1.1.5-SNAPSHOT 中解决