
open-in-view은 무슨 설정인가?
Open Session In View 으로 데이터베이스와의 세션을 웹 요청의 전 과정에 걸쳐 열어 두는 패턴을 말한다.
OSIV는 웹 요청의 시작부터 끝까지 영속성 컨텍스트를 열어 두어, 컨트롤러나 뷰 렌더링 중에도 데이터 베이스를 접근할 수 있게 한다.
영속성 컨텍스트가 트랜잭션의 범위를 넘어 레이어까지 살아 있다.
트랜잭션이 종료 될 때 영속성 컨텍스트 또한 닫힌다.
OSIV의 비활성화
최근에는 OSIV를 비활성화하는 것이 권장되는 경우가 많습니다. 서비스 계층에서 모든 데이터를 명확히 로드한 후, 뷰에서는 이미 로드된 데이터를 활용하는 것이 성능 측면에서 더 효율적입니다. OSIV를 비활성화하면 데이터베이스 커넥션이 짧게 유지되어 리소스 사용이 최적화되며, 코드에서의 책임이 명확해지는 장점이 있습니다.