OSIV(OPEN SESSTION IN VIEW)란?
OSIV OSIV는 세션(JPA에서는 엔티티매니저)의 생명 주기를 설정할 수 있는 옵션이다. 엔티티 매니저는 데이터베이스 커넥션의 생명 주기를 같이 가지고 있어 엔티티 매니저가 생성될때 데이터 베이스 커넥션을 생성하여 엔티티 매니저가 사라질때 데이터 베이스의 커넥션은 반환된다. 엔티티 매니저는 트랜잭션 시작시 생성된다. spring.jpa.open-in-view: true (기본값) 데이터 베이스 커넥션, 엔티티 매니저가 트랜잭션 시작시 생성되고 컨트롤러에서 응답될때 데이터 베이스 커넥션 반환, 엔티티 매니저가 사라진다. 장점: 컨트롤러에서 지연로딩이 가능하다. (코딩이 편하다) 단점: 커넥션을 물고 있는 주기가 길어지고 커넥션을 빨리 반환하지 않으면 커넥션풀로 인해 장애로 이어질 수 있다. spring..
2021.02.04