찾다

 >  Q&A  >  본문

spring - JavaWeb中 Service 层的事务问题

下面是我的Spring配置

通过上面的配置可以看出我是在所有的service中加入的事物,也就是说我的service出错了会回滚所有的提交。
那么如果遇到Aservice调用Bservice的方法,然后Bservice调用了Cservice层的方法,
A->B->C
这种情况属于事物层嵌套调用,那么问题来了我在Cservice中如果出现异常,现在是只会回滚Cservice的事物,还是会把A和B的事物都回滚。
请大牛来帮忙解释下这个问题。我也是突然想到有这种情况实际没有这么做呢~

PHP中文网PHP中文网2813일 전543

모든 응답(3)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 10:55:17

    해본 적은 없습니다. 그러나 일반적으로 서비스 호출 서비스는 dao에 배치할 수 있는 것은 권장되지 않습니다.

    회신하다
    0
  • 怪我咯

    怪我咯2017-04-18 10:55:17

    propagation="REQUIRED"는 트랜잭션이 현재 존재하는 경우 해당 트랜잭션을 현재 트랜잭션 범위에 넣고, 그렇지 않으면 새 트랜잭션을 생성한다는 의미입니다. 따라서 그들은 모두 동일한 거래에 속하게 됩니다.

    회신하다
    0
  • PHPz

    PHPz2017-04-18 10:55:17

    이는 구성 트랜잭션의 전파 방법을 사용하여 정의할 수 있습니다. 현재 거래에 참여하시겠습니까, 아니면 직접 새 거래를 생성하시겠습니까?

    회신하다
    0
  • 취소회신하다