- 영속성 컨텍스트 생명주기를 이해하고 지연 로딩을 효과적으로 사용하는 것이 중요합니다. 🧐
- OEIV는 요청 처리 전체 기간 동안 EntityManager를 로컬 스레드에 바인딩하여 공유하는 방식입니다. 🔗
- OEIV 설정은
open-in-view
속성을 통해 활성화/비활성화할 수 있으며, 기본값은 true
입니다. ⚙️
open-in-view
가 true
일 때 EntityManager는 Interceptor에서 생성되어 요청부터 응답까지 활성화됩니다. ⏳
open-in-view
가 false
일 경우, 지연 로딩은 트랜잭션 범위 내에서만 가능하며, Controller나 View에서는 LazyInitializationException
이 발생할 수 있습니다. 🚫
- OEIV는 Web Views에서 지연 로딩을 허용하여 개발 편의성을 높이지만, 데이터베이스 커넥션 점유 시간을 증가시키는 단점이 있습니다. 🐌
- OEIV 활성화 여부는 개발 규모, 편의성, 성능 등을 고려하여 적절히 선택해야 합니다. 🤔