그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록Transaction
Transaction

어떤 예외에서 트랜잭션이 롤백되나요?

실무5/5
설계4/5
인간4/5
기초2/5

면접관의 질문 의도

기본 규칙을 외웠는지보다, Checked/Unchecked 함정과 자기 호출·전파·비동기 같은 경계에서 롤백이 어떻게 갈리는지 판단할 수 있는지를 본다.

큐레이션 답변

학습 자료

Spring 선언적 트랜잭션은 기본적으로 RuntimeException과 Error만 롤백하고, Checked Exception은 커밋한다. 이 기본값은 EJB 시절의 관행을 그대로 따른 것이라, 도메인에서 만든 Checked Exception(예: 결제 실패)을 던져도 트랜잭션이 그냥 커밋되는 함정이 생긴다. 그래서 예외 계층을 어떻게 설계하느냐와 @Transactional(rollbackFor=...)를 어디까지 명시하느냐가 곧 트랜잭션 정책 자체다.

좋은 답변 구조

  1. 01Spring 기본 규칙(RuntimeException/Error 롤백, Checked 커밋)과 EJB 관행에서 온 배경을 짚는다
  2. 02rollbackFor/noRollbackFor로 정책을 덮어쓸 때의 트레이드오프와 도메인 예외 계층 통일 기준을 설명한다
  3. 03try-catch 삼킴·자기 호출 AOP 누락 등 롤백이 안 도는 대표 경계 사례를 짚는다
  4. 04REQUIRES_NEW·비동기·테스트 @Transactional 환경별 함정과 검증 방법으로 마무리한다

자주 실수하는 포인트

Checked Exception도 기본 롤백된다고 단정한다
try-catch로 예외를 삼킨 뒤에도 롤백이 일어날 거라 기대한다
테스트 @Transactional 자동 롤백 통과를 운영에서도 롤백된다는 근거로 삼는다
REQUIRES_NEW나 비동기 호출에서 바깥 트랜잭션이 자동으로 같이 롤백된다고 가정한다

실무 맥락

  • 결제·재고처럼 부분 커밋이 곧 정합성 사고로 이어지는 도메인
  • 외부 API 호출이 Checked Exception으로 묶여 있는 통합 지점
  • REQUIRES_NEW로 감사 로그·알림을 별도 트랜잭션에 분리한 구조
  • 통합 테스트에서 @Transactional 자동 롤백에 기대고 있는 환경

본인 경험에 녹이는 힌트

Checked로 던진 도메인 예외가 커밋돼 데이터가 어긋난 경험이 있다면, 예외 계층을 RuntimeException으로 재설계한 과정과 연결할 수 있다

try-catch로 예외를 삼켰다가 롤백이 안 돼서 디버깅한 경험이 있다면, 트랜잭션 경계와 예외 전파 책임을 어떻게 정리했는지 말할 수 있다

REQUIRES_NEW·비동기 호출에서 바깥이 롤백되지 않아 보상 로직을 추가한 경험이 있다면, 트랜잭션 경계 설계 이야기로 풀어낼 수 있다

테스트는 통과했는데 운영에서 부분 커밋이 난 경험이 있다면, 거짓 음성 테스트 문제와 통합 테스트 전략 개편 이야기로 연결할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1Checked Exception에서도 반드시 롤백해야 하는 시나리오를 어떻게 가려내나요
Q2같은 클래스 안 메서드 호출에서 @Transactional이 안 도는 이유는 무엇인가요
Q3REQUIRES_NEW로 분리한 트랜잭션의 실패를 바깥 트랜잭션에 어떻게 반영하나요
Q4테스트의 @Transactional 자동 롤백 대신 어떤 격리 전략을 쓰면 운영 동작을 더 정확히 검증할 수 있나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문