关于 spring 事物问题

    我有两个Service 其中一个Aservice中的方法调用另一个Bservice中的方法,

    Class Aservice{
        Bservice  bservice
       @Transactional
        public void updateA(){
            bservice.updateB()
          //报错runtime异常抛出
        }
    }

    Class Bservice{

        public void updateB(){
           //更新操作
        }
    }


我只在Aservice方法中加了事物,b中没有添加事物,这样如果a中方法报错,b居然没有回滚, 

如果在b中添加了事物就可以回滚, 我不明白a中的事物为什么不能影响到b中回滚呢?

B如果没有受事务管理: 则线程内的connection 的 autoCommit为true。

A得到事务时事务传播特性依然生效,得到的还是B使用的connection,但是 不会改变autoCommit的属性。

所以B当中是按照每条sql进行提交的。