[SPRING] 중첩 된 @Transactional
SPRING중첩 된 @Transactional
봄에 @Transactional 어노테이션이있는 메소드를 중첩 할 수 있습니까? 다음과 같은 것을 고려하십시오.
@Transactional
public void a() {
obj.b();
}
@Transactional
public void b() {
// ...
}
b ()에서 롤백하고 a ()에서 롤백하면 그러한 경우 어떻게됩니까?
해결법
-
==============================
1.기본적으로 @Transactional에는 REQUIRED의 전파가 있으므로 메소드 b ()에 대한 두 번째 @Transactional 주석은 필요하지 않으므로 메소드 a ()에 의해 호출 된 메소드는 트랜잭션입니다. a () 메소드에 의해 호출 된 메소드 내에서 새 트랜잭션을 시작하려는 경우 전파 규칙을 수정해야합니다. 트랜잭션 전파에 대해 읽으십시오.
기본적으로 @Transactional에는 REQUIRED의 전파가 있으므로 메소드 b ()에 대한 두 번째 @Transactional 주석은 필요하지 않으므로 메소드 a ()에 의해 호출 된 메소드는 트랜잭션입니다. a () 메소드에 의해 호출 된 메소드 내에서 새 트랜잭션을 시작하려는 경우 전파 규칙을 수정해야합니다. 트랜잭션 전파에 대해 읽으십시오.
from https://stackoverflow.com/questions/6633870/nested-transactional by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] @RefreshScope 및 / refresh가 작동하지 않습니다 (0) | 2019.09.13 |
---|---|
[SPRING] Spring OAuth2 + JWT 추가 정보를 포함하여 액세스 토큰에 JUST (0) | 2019.09.13 |
[SPRING] CompletableFuture / ForkJoinPool 세트 클래스 로더 (0) | 2019.09.13 |
[SPRING] 백리향, 조각 및 기본 매개 변수 (0) | 2019.09.13 |
[SPRING] 예제 applicationContext.xml 파일을 찾을 수있는 곳 (0) | 2019.09.13 |