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

해톨님의 프로필 이미지
해톨

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

트랜잭션 문제 해결 - 트랜잭션 AOP 적용

트랜잭션 어노테이션

작성

·

184

·

수정됨

0


[질문 내용]
트랜잭션 애너테이션을 적용하면

트랜잭션 템플릿도 자동으로 적용이 되는걸까요 ??

그리고 트랜잭션 애노테이션을 적용하지 않고 템플릿만 적용하는건 어떤경우에 쓸수있나요 ??

답변 1

0

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

안녕하세요. 권민서님

트랜잭션 애너테이션을 사용하면 트랜잭션 템플릿을 사용한 것과 같은 효과가 발생합니다

그러나 경우에 따라서는 @Transactional 애너테이션 대신 TransactionTemplate을 직접 사용할 수도 있습니다. 이는 다음과 같은 상황에서 유용할 수 있습니다:

  1. 프로그래밍적 트랜잭션 관리: TransactionTemplate을 사용하면 코드 내에서 직접 트랜잭션 경계를 제어할 수 있습니다. 예를 들어, 조건에 따라 트랜잭션을 커밋하거나 롤백할 수 있습니다.

  2. 동적인 트랜잭션 설정: @Transactional 애너테이션은 정적인 트랜잭션 설정을 제공하지만, TransactionTemplate을 사용하면 런타임에 트랜잭션 설정을 동적으로 변경할 수 있습니다.

하지만 대부분의 경우에는 @Transactional 애너테이션을 사용하는 것이 더 간편하고 선언적이므로 권장됩니다. TransactionTemplate은 특별한 요구사항이 있을 때 사용하는 것이 좋습니다.

실무에서는 거의 대부분 @Transactional만 사용한다고 생각하시면 됩니다.

감사합니다.

해톨님의 프로필 이미지
해톨
질문자

감사합니다!!

해톨님의 프로필 이미지
해톨

작성한 질문수

질문하기