인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

comingsoon님의 프로필 이미지
comingsoon

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

트랜잭션 전파 관련 질문입니다.

작성

·

157

0

강사님, 안녕하세요. 트랜잭션 전파 관련 질문이 있습니다.

 

@Transactional(REQUIRES_NEW)를 가진 A함수에서 @Transactional(REQUIRES_NEW)를 가진 (외부에 있는) B함수를 호출할 때에도 강의의 예시(@Transactional을 가진 함수에서 @Transactional(REQUIRES_NEW)를 가진 함수 호출)와 같은 논리로 작동한다고 봐도 될까요?

 

예를 들어 X함수 -> A함수 -> B함수 순으로 호출한다고 할 때,

X 함수가 @Transactional (default값, REQUIRED)를 가지고 있고

A, B 함수가 @Transactional(REQUIRES_NEW)를 가지고 있다면

X 함수와 A 함수가 각각 별도의 물리 트랜잭션을 가지고 있는 것처럼 A 함수, B 함수도 X와 A의 관계처럼 서로 별도의 물리 트랜잭션을 가지고 있다고 판단할 수 있을까요? 만약 그렇다면 X -> A / A -> B 이렇게 관계를 따로따로 생각을 하는 것이 맞을까요?

로그를 찍어봤을 때 B 함수에서 롤백이 일어나도 A 함수의 데이터에는 영향을 주지 않고, A ~ X의 관계도 그러한 것으로 보이는데 이론적으로도 맞는 것인지 확인하고 싶습니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. comingsoon님

생각하신 내용이 맞습니다.

감사합니다.

comingsoon님의 프로필 이미지
comingsoon

작성한 질문수

질문하기