디벨롭
로그인
디벨롭
로그인
Spring-open-in-view 속성
박상준
·
2024년 4월 16일
팔로우
0
영속성
0
JPA
목록 보기
1/2
기본적으로 활성화로 되어 있음.
Open Session in View
패턴을 활성화하여 HTTP 요청이 처리되는 동안 JPA / Hibernate 세션을 열어 두는 역할을 한다.
이로 인하여 뷰 렌더링 중에도 DB 쿼리가 수행될 수 있다.
지연 로딩으로 설정된 엔티티를 뷰에서 접근할 때 유용하게 사용될 수 있지만, 별도의 뷰가 없는 백엔드 서버에서는 성능 저하나 예기치 않은 DB 쿼리 실행이 될 수 있다고 한다.
해결
spring.jpa.open-in-view = false 설정으로 해당 문제 해결
효과
지연 로딩 문제
해당 속성을 활성화시
세션을 요청이 끝날 때 까지 열어둔다.
컨트롤러나 서비스 계층에서 데이터에 접근한 이후에도 지연 로딩이 가능해진다.
트랜잭션의 경계 명확
spring.jpa.open-in-view=false
설정으로 트랜잭션의 경계가 명확해진다
비즈니스 로직이 실행되는 동안만 DB 세션이 열리게 됨.
박상준
이전 블로그 : https://oth3410.tistory.com/
팔로우
다음 포스트
JPA @Modifying
0개의 댓글
댓글 작성