我有一个服务
public class ServiceA {
@Transactional
public void a() {
...
serviceB.b()
...
}
}
调用另一种服务的方法
public class ServiceB {
@Transactional
public void b() {
...
graphRepository.save(..)
...
}
}
调用GraphRepository的方法。
如果在执行GraphRepository方法期间没有任何问题,everithigs会很好地工作,但是如果GraphRepository中发生异常,则回滚将不起作用,并且所有对远程数据库的调用都将被阻止。
如果我删除了b()上的Transactional注释,即使GraphRepository中发生异常,everithins也可以正常工作。
我无法解释这种行为。
你能帮助我吗?
最佳答案
感谢Luanne和她的评论,我解决了这个问题
这是一个错误,已在neo4j-ogm 1.1.5-SNAPSHOT中解决