[10분 테코톡] 웨이드의 OSIV
웨이드의 OSIV
발표 대상
- Hibernate(JPA)를 사용하는 개발자
- 영속성 컨텍스트 생명 주기에 대해 궁금한 사람
발표 목적
- Hibernate의 OSIV(OEIV) 개념을 이해하고, 설정 방법을 알린다.
- 영속성 컨텍스트의 생명 주기를 이해하여 데이터 관리에 도움을 준다.
- OSIV의 필요성과 함께, 주의점을 공유한다.
Hibernate(JPA)의 OSIV(OEIV) 개념 이해
- OEIV(Open-Session-In-View)란?
- OEIV 설정 방법
- application.properties 파일에 spring.jpa.open-in-view=true 추가
(Open-In-View = true)일 때 EntityManager(영속성 컨텍스트) 생명 주기
- 영속성 컨텍스트가 요청 시작부터 끝까지 유지됨
- 지연 로딩 문제를 해결하고, 레이지 로딩을 가능하게 함
(Open-In-View = false)일 때 EntityManager(영속성 컨텍스트) 생명 주기
- 영속성 컨텍스트가 요청 처리 후 바로 종료됨
- 지연 로딩 문제가 발생할 수 있음
왜 OEIV가 필요했을까?
- 뷰 템플릿 엔진에서 지양되었던 지연 로딩 문제를 해결하기 위해
- 영속성 컨텍스트의 생명 주기를 관리하고 성능을 향상시키기 위해
무조건 좋은걸까?
- 처리 시간이 긴 외부 API를 호출할 경우 부담이 될 수 있음
- OSIV를 적용할 때 주의해야 할 점
True? or False?
- OSIV를 통해 지연 로딩 문제를 해결할 수 있는가?
고민해볼 점
- OSIV를 사용할 때, 성능 이슈와 관리적 측면을 고려해야 함
끄으읏