본 문서는 인프런의 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화 (김영한) 강의를 공부하며 작성한 개인 노트입니다.
Open Session In View - Hibernate
spring.jpa.open-in-view
OSIV은 최초 디비 커넥션 시작 시점부터~API 응답 끝나는 시점까지 영속성 컨텍스트와 디비 커넥션 유지
spring.jpa.open-in-view: false
트랜잭션 종료 > 영속성 컨텍스트 종료 > 디비 커넥션 반환 >> 커넥션 리소스 낭비 X
OrderQueryService
클래스를 만들어 지연로딩이 필요한 로직을 옮기자실무에서 OSIV을 끈 상태로 복잡성을 관리하는 방법임
(예) OrderService을 OrderService와 OrderQueryService로 분리
고객 서비스의 실시간 API > OSIV 끄기
Admin처럼 커넥션 사용량이 적음 > OSIV 키기