
5. API 개발 고급 - 실무 필수 최적화
·
Spring/JPA 2
OSIV : Open Session In View - 현재 JPA에서의 EntityManager와 같은 역할을 과거 Hibernate 에서 Session을 사용하였다. @Transactional → setAutoCommit() DB 커넥션을 획득하는 시점은 일반적으로 트랜잭션을 시작할 때 이다. 그럼 DB 커넥션의 반환 시점은 언제가 될까? 위 시점을 OSIV 설정을 통해 결정한다. if OSIV = True 트랜잭션이 끝나도 'DB 커넥션'과 영속성 컨텍스트가 유지되게끔 한다. 따라서 (API) Controller 나 View Template에서의 지연 로딩이 가능해진다. 사용자에게 반응되기 전까지 오랫동안 DB 커넥션 리소스를 사용한다. if OSIV = False 트랜잭션이 끝날 때, 'DB 커넥션..