
OSIV와 성능 최적화
·
BackEnd/실전! 스프링 부트와 JPA 활용2
OSIV는 Open Session in View(하이버네이트) 이다. Open EntityManager in View는 JPA라 하지만 관례상 OSIV라고 한다. OSIV ON spring.jpa.open-in-view : true 기본값 OSIV 전략은 트랜잭션 시작처럼 최초 데이터베이스 커넥션 시작 시점부터 API 응답이 끝날 때 까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지한다. 그래서 지금까지 View Template이나 API 컨트롤러에서 지연 로딩이 가능했던 것이다. 또, 엔티티를 적극활용해서 LAZY Loading 같은 기술을 Controller 나 View에서도 사용 가능하다. 즉, 지연 로딩은 영속성 컨텍스트가 살아있어야 가능하고, 영속성 컨텍스는 기본적으로 데이터베이스 커넥션을 유지..