반응형
김영선
-
OSIV와 성능 최적화김영한(인프런 강의)/실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 2021. 2. 9. 18:04
OSIV Open Session In View 하이버네이트 Open EntityManager In View JPA (관례상 OSIV라 한다.) OSIV ON (OSIV 사용) spring.jpa.open-in-view=true JPA를 의존성 추가하고 어플리케이션(WAS)를 시작할 때 WARN으로 뿌리는 이유가 뭘까? 바로 영속성 컨텍스트(1차캐시)에 관한 것이다. OSIV 전략은 트랜잭션 시작처럼 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때 까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다. 그래서 지금까지 View Template이나 API 컨트롤러에서 지연 로딩이 가능했던 것이다. 지연로딩이라는 영속성 컨텍스트가 살아있어야 가능하고, 영속성 컨텍스트는 기본적으로 데이터베이스 커..