Open Session In View : 하이버네이트
Open EntityManager In View : JPA
spring.jpa.open-inview is enabled by default
- spring.jpa.open-in-view : true (default)
OSIV ON (spring.jpa.open-in-view : true)
언제 JPA 가 DB connection 을 가져오는가?
- DB Transaction이 시작할 때, JPA 가 database connection 을 가져온다.
언제 JPA 가 DB connection 을 반환하는가?
- osiv가 켜져있으면, 유저한테 response 가 나간 뒤에 반환한다.
단점
- 너무 오랫동안 DB 커넥션을 갖고있는다.
- 실시간 트래픽이 중요한 애플리케이션에서는 DB connection이 모자랄 수 있다.
OSIV OFF (spring.jpa.open-in-view : false)
언제 JPA 가 DB connection 을 가져오는가?
- DB Transaction이 시작할 때, JPA 가 database connection 을 가져온다.
언제 JPA 가 DB connection 을 반환하는가?
- DB Transaction이 끝나면 반환한다.
단점
- 트랜잭션이 끝나기전에 모든 지연로직을 호출해둬야 한다.
'강의 정리 > 스프링 부트와 JPA활용 2' 카테고리의 다른 글
2. 컬렉션 조회최적화 (0) | 2021.01.09 |
---|---|
1. 지연 로딩과 조회 성능 최적화 (0) | 2021.01.07 |