작성
·
455
0
A 서비스 클래스에서 어떠한 메서드(@Transactional 있음)가 하나의 트랜잭션을 실행하는데 B 서비스 클래스에 있는 UPDATE 메서드를 A 서비스 클래스의 해당 메서드에 넣어서 사용한다고 할때 B서비스 클래스의 UPDATE 메서드에 @Transactional 에노테이션이 붙어있어도 문제가 없을까요?
B 클래스 메서드가 단독으로 트랜잭션을 실행하지 않는다는 무조건적인 보장이 있으면 에노테이션이 없는 것이 맞지만 그것이 아니라면 에노테이션이 있어야 될것 같아서 질문드립니다.
답변 1
0
안녕하세요, !? 님! 공식 서포터즈 codesweaver 입니다.
트랜잭션 안의 트랜잭션을 질문하신 것 같습니다.
이런 경우를 '트랜잭션 전파'(Transaction Propagation)이라고 합니다.
아래의 링크 중 '전파 타입 7가지 요약'을 참조하시면 자세한 내용을 확인하실 수 있습니다.
상황에 따라 @Transactional( ... propagation = {option}); 전파 타입을 설정하여 사용하시면 됩니다.
감사합니다.