在Spring的事务中,如果事务方法中调用了多个事务方法时,Spring会将所有的事务合成为一个。只有在所有子方法都未抛出异常的时候,才会将整个事务进行统一的commit。
当子事务方法抛出异常触发事务回滚时,Spring会将整个事务标记为rollback-only,即该事务必须进行回滚。如果这时在未将该异常往整个事务最的顶层的方法抛出触发统一的回滚,就是造成Transaction rolled back because it has been marked as rollback-only。