我有一个服务,例如
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也能正常工作。
我无法解释这种行为。
你能帮助我吗?