JPA OSIV

Published: by Creative Commons Licence

OSIV(Open Session In View)

OSIV(Open Session In View)는 영속성 컨텍스트를 뷰까지 열어두는 기능이다. 영속성 컨텍스트가 유지되면 엔티티도 영속 상태로 유지된다. 뷰까지 영속성 컨텍스트가 살아있다면 뷰에서도 지연 로딩을 사용할 수가 있다. JPA에서는 OEIV(Open EntityManager In View), 하이버네이트에선 OSIV(Open Session In View)라고 한다. 하지만 관례상 둘 다 OSIV로 부른다.

OSIV ON

Springboot Application 시작 시점에 warn 로그를 남기는 것을 볼 수 있다.

spring.jpa.open-in-view: true # 기본값
2021-11-26 11:39:42.912  WARN 4036 --- [  restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning

참고

경호의 공부방