OSIV 옵션에 대해 설명해주세요.
2024-11-12 11:01:44
OSIV(Open Session In View)OSIV(open session in view)는 영속성 콘텍스트를 뷰까지 열어둔다는 의미입니다. 영속성 콘텍스트가 살아있으면 엔티티는 영속 상태로 유지될 수 있어, 뷰에서도 지연 로딩을 사용할 수 있어요. OSIV의 핵심은 뷰에서도 지연 로딩이 가능하도록 하는 것입니다. 가장 단순한 구현은 클라이언트 요청이 들어올 때 필터나 인터셉터에서 트랜잭션을 시작하는 방법인데요. 이를 트랜잭션 방식 OSIV라고 합니다. 하지만, 트랜잭션 방식 OSIV는 표현 계층에서도 엔티티를 수정할 수 있기 때문에 유지보수하기 어려운 코드를 만들 수 있습니다.트랜잭션 방식의 OSIV의 문제는 어떻게 풀어볼 수 있을까요? 🤔최신 방식의 OSIV는 트랜잭션 방식의 문제를 해결합니다...