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

Service

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

My

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

Policy

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

© 2026 그알것 · What Still Matters

질문 목록JPA
JPA

OSIV(Open Session In View) 옵션에 대해서 설명해주세요

실무3/5
설계4/5
인간4/5
기초1/5

면접관의 질문 의도

OSIV가 무엇인지만 외웠는지, 아니면 지연 로딩 편의성과 커넥션 점유 사이 트레이드오프를 보고 상황 맞춰 켜고 끄는 판단을 할 수 있는지를 가르는 질문이다.

큐레이션 답변

학습 자료

OSIV는 영속성 컨텍스트를 요청 시작부터 뷰 렌더링 시점까지 열어 두는 옵션이다. 켜두면 트랜잭션이 끝난 뒤에도 표현 계층에서 지연 로딩이 되지만, 그 동안 커넥션을 계속 잡고 있어 트래픽이 늘면 커넥션 풀이 마른다. 스프링 방식은 영속성 컨텍스트만 유지하고 트랜잭션은 서비스에서만 열어 표현 계층의 엔티티 수정 문제를 줄였지만, 커넥션 점유 문제는 여전히 남는다. 결국 OSIV는 켜고 끄는 단순 옵션이 아니라 지연 로딩 편의성과 자원 효율을 같이 보고 결정하는 트레이드오프다.

좋은 답변 구조

  1. 01OSIV가 무엇이고 왜 만들어진 옵션인지 먼저 짚는다
  2. 02전통 방식과 스프링 방식의 차이를 트랜잭션 범위로 갈라 설명한다
  3. 03지연 로딩 편의성과 커넥션 점유 비용을 트레이드오프로 묶는다
  4. 04어떤 트래픽·구조에서 끄는 게 맞는지 상황 기준을 든다

자주 실수하는 포인트

OSIV를 단순히 지연 로딩을 켜주는 옵션 정도로만 설명한다
트래픽이나 구조를 보지 않고 "무조건 끄는 게 맞다"로 단정한다
트랜잭션 범위와 영속성 컨텍스트 유지 범위를 같은 것으로 본다
커넥션 점유를 성능·운영 리스크로 연결하지 못한다

실무 맥락

  • 컨트롤러·뷰 단계에서 지연 로딩이 자주 일어나는 서비스
  • 트래픽이 많아 커넥션 풀이 자주 마르는 환경
  • 읽기/쓰기 또는 복제 DB로 데이터소스를 분리한 환경

본인 경험에 녹이는 힌트

OSIV를 끄거나 유지한 결정의 근거를 트래픽 특성과 묶어 설명해본 경험이 있다면 판단 기준으로 연결할 수 있다

지연 로딩이 터져서 커넥션 풀이 마르거나 N+1을 만난 적이 있다면 그 경험을 OSIV 설정 근거로 풀어낼 수 있다

조회 전용 API에서 DTO 변환 시점을 어떻게 설계했는지 말할 수 있다면 계층 책임 분리 관점으로 확장된다

데이터소스를 읽기/쓰기로 분리해본 경험이 있다면 OSIV가 왜 문제가 되는지를 구체적으로 풀 수 있다

커뮤니티 인기 답변

전체 0개

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

관련 꼬리 질문

Q1OSIV를 끄면 지연 로딩 문제를 어떻게 푸나요
Q2트랜잭션 방식 OSIV와 스프링 방식 OSIV는 무엇이 다른가요
Q3OSIV가 커넥션 고갈로 이어지는 메커니즘을 설명해 주세요
Q4데이터소스를 분리한 환경에서 OSIV가 왜 문제가 되나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문