Spring 트랜잭션
@Transactional, propagation, isolation, rollback, PlatformTransactionManager를 사용한 트랜잭션 관리
30 면접 질문·
Senior
1Spring에서 @Transactional 어노테이션의 주요 역할은 무엇입니까?
1
Spring에서 @Transactional 어노테이션의 주요 역할은 무엇입니까?
답변
@Transactional은 메서드가 트랜잭션 컨텍스트 내에서 실행되어야 함을 나타내며, 데이터베이스 작업의 원자성을 보장합니다. Spring은 클래스 주위에 AOP proxy를 자동으로 생성하여 트랜잭션의 시작, commit, rollback을 처리합니다. 이 선언적 접근 방식은 TransactionTemplate이나 PlatformTransactionManager를 사용한 수동 프로그래밍에 비해 트랜잭션 관리를 크게 단순화합니다.
2@Transactional의 기본 propagation 타입은 무엇입니까?
2
@Transactional의 기본 propagation 타입은 무엇입니까?
답변
Propagation.REQUIRED는 기본 propagation 타입입니다. 이 전략에서 Spring은 기존 트랜잭션이 있으면 그것에 참여하고, 없으면 새로운 트랜잭션을 생성합니다. 이는 대부분의 사용 사례에서 가장 일반적이고 직관적인 동작으로, 데이터베이스 작업에 항상 트랜잭션이 존재하도록 보장합니다.
3@Transactional 메서드에서 RuntimeException이 발생하면 어떻게 됩니까?
3
@Transactional 메서드에서 RuntimeException이 발생하면 어떻게 됩니까?
답변
기본적으로 Spring은 RuntimeException(또는 Error)이 발생하면 트랜잭션을 자동으로 rollback합니다. 이를 통해 예기치 않은 오류가 발생할 경우 데이터베이스 변경 사항이 취소되도록 보장합니다. 반면, checked 예외(Exception을 상속하지만 RuntimeException은 아닌 예외)는 rollbackFor로 명시적으로 지정하지 않는 한 기본적으로 rollback을 트리거하지 않습니다.
4
@Transactional 어노테이션은 어디에 적용할 수 있습니까?
5
Propagation.REQUIRES_NEW는 어떤 동작을 합니까?
+27 면접 질문
기타 Spring Boot 면접 주제
Spring Core - IoC & DI
Junior
22개 질문Spring Boot Auto-Configuration
Junior
20개 질문Spring Boot Starters
Junior
18개 질문Application Properties & YAML
Junior
16개 질문SLF4J 및 Logback을 사용한 로깅
Junior
20개 질문Spring Boot DevTools
Junior
15개 질문Spring MVC Basics
Mid-Level
20개 질문Spring REST Controllers
Mid-Level
20개 질문Request & Response Handling
Mid-Level
20개 질문예외 처리
Mid-Level
25개 질문Bean Validation
Mid-Level
25개 질문Spring Data JPA 기초
Mid-Level
25개 질문JPA 엔티티 및 관계
Mid-Level
30개 질문JPA 쿼리
Mid-Level
30개 질문Spring Data Repositories
Mid-Level
25개 질문Spring Security 기초
Mid-Level
25개 질문Spring Boot Actuator
Mid-Level
20개 질문JUnit과 Mockito를 사용한 단위 테스트
Mid-Level
30개 질문Spring Boot 테스트
Mid-Level
30개 질문Profiles와 Environment
Mid-Level
20개 질문RestTemplate 및 WebClient
Mid-Level
24개 질문Async와 스케줄링
Mid-Level
25개 질문Spring을 사용한 캐싱
Mid-Level
25개 질문Spring WebFlux (리액티브)
Mid-Level
25개 질문고급 인증 및 인가
Senior
30개 질문JWT 및 스테이트리스 보안
Senior
20개 질문OAuth2와 Authorization Server
Senior
20개 질문Spring Boot와 Docker
Senior
19개 질문Spring을 활용한 마이크로서비스
Senior
25개 질문Spring Cloud Config
Senior
19개 질문성능 최적화
Senior
30개 질문GraalVM Native Images
Senior
20개 질문