[Java JPA] open-in-view

전재준·2021년 12월 12일
0

Java

목록 보기
6/15

application.yml 파일에 있는 JPA 설정 open-in-view에 대해 알아보자

내가 이해하기 쉽게 아이패드로 그림을 그려서 작성해 보았다.

OSIV라고도 하는 이 설정은

  1. 클라이언트 요청이 들어오면 디스패치에서 어디 Controller를 탈지 정해주고 이 과정에서 DB Session이 만들어진다(DB에 접근할 수 있는 세션).
  1. open-in-view가 false 상태이면 요청 후 session이 닫히는 타이밍은 그림에 3번에 위치에서 session이 닫힌다. (컨트롤러 단에서 Lazy로딩(지연로딩) 불가능) Controller 밑 view 단에서 Lazy 요청이 불가능하게 된다.
  1. open-in-view가 true 상태면 요청 후 session이 닫히는 타이밍은 그림에 4번에 위치에서 session이 닫힌다.
    사용자에게 응답 또는 view가 렌더링 될 때까지 세션을 유지한다.

영속성 컨텍스트를 유지한다는 건, DB Connection 또한 계속 가지고 있다는 뜻이다.

실시간 트래픽이 중요한 어플리케이션에서는 DB Connection이 모자를 수 있다. 성능이 중요하다면 OSIV는 false로 설정하자.


참고자료

0개의 댓글

관련 채용 정보