OSIV(open session in view)
OSIV란?JPA나 Hibernate 같은 ORM을 사용할 때, 영속성 컨텍스트(Session)를 뷰 렌더링 단계까지 열어두는 패턴. 이를 통해 뷰를 렌더링할 때도 데이터베이스에 접근할 수 있게 됨.Hibernate에서는 세션(Session)이라고 부르는 것을 JPA에서는 영속성 컨텍스트라고 부른다. 따라서 해석을 해보자면 영속성 컨텍스트를 view단까지 열어둘 것인지를 설정하는 것이라고 생각하면 된다. 트랜잭션이 시작될 때 영속성 컨텍스트가 데이터베이스 커넥션을 가져오게 되는데OSIV가 true일 경우OSIV가 true이면 트랜잭션이 끝나도 커넥션을 반환하지 않고 유저에게 response가 응답된 후, 또는 html에 렌더링한 후에 데이터베이스 커넥션을 반환하고 영속성 컨텍스트도 그 때 사라진다. 따라..
2024.09.22