읽기 전용 트랜잭션
-
OSIV(Open Session In View) default 값을 사용해야할까?스터디/JPA 2023. 7. 31. 00:08
OSIV에 대해 공부하면서, 기본 설정값을 그대로 사용하는 것이 적절한지에 대한 의문이 들었습니다. 이에 관해 정리하여 포스팅을 작성하려고 합니다.OSIV란OSIV는 영속성 컨텍스트를 View 영역까지 열어두는 기능입니다. 즉, View Layer에서도 LazyLoading으로 엔티티를 조회할 수 있다는 말입니다. OSIV ture일 경우 (default) OSIV 전략은 트랜잭션이 시작되는 시점, 즉 최초 데이터베이스 커넥션이 생성될 때부터 API 응답이 완료될 때까지 영속성 컨텍스트와 데이터베이스 커넥션을 유지하는 방식입니다. 이로 인해 View Layer에서 지연 로딩을 활용할 수 있습니다. 또한, View Layer에서는 트랜잭션 범위에 포함되지 않기 때문에 엔티티를 수정해도 쿼리가 발생하지 않습..