[JPA] 영속성 컨텍스트란? (엔티티 생명주기)
·
Java/Spring
오늘은 이전 프로젝트 진행할 때 실시간 알림 구현중 OSIV 때문에 connection이 반환되지 않아 문제가 발생했던 적이 있었는데 해당 문제가 왜 발생했는지 알아보기 위해 2번의 포스팅(영속성 컨텍스트, 지연로딩과 OSIV)을 통해 알아보려고 한다. 우선 최종 목표인 OSIV에 대한 간단한 정의부터 살펴보자. OSIV(Open-Session-In-View)란? OSIV는 영속성 컨텍스트를 뷰까지 열어준다는 의미이다. 영속성 컨텍스트가 살아있으면 엔티티는 영속 상태로 유지된다. 따라서 뷰에서도 지연 로딩을 사용할 수 있다고 한다. 오늘은 지연로딩에 대해 공부하기 이전에 영속성 컨텍스트부터 알아보자. 영속성 컨텍스트란? 영속성 컨텍스트는 엔티티를 영구 저장하는 환경을 말한다. 간단히 말하면 엔티티를 저장..
커넥션 풀(Connection pool)이란? (JDBC, HikariCP)
·
Java/Spring
커넥션 풀(DBCP)이란? 웹 컨테이너(WAS)가 실행이 될 때 DB와 연결을 위해 미리 설정된 값만큼의 connection 객체들을 만들어 pool에 저장을 했다가 클라이언트의 요청이 발생하면 pool에 미리 생성해 둔 connection을 주었다가, 클라이언트의 사용이 끝나면 connection을 돌려받고 다시 pool에 저장하는 방식이다. WAS(Web application server)란? WAS(Web application server)는 웹 서버와 웹 컨테이너(WAS = Web Server + Web Container)가 합쳐진 형태로, 웹 서버 단독으로 처리할 수 없는 DB조회나 다양한 로직 처리가 필요한 동적 컨텐츠를 제공한다. 커넥션 풀 동작 과정 1. 사용자가 DB사용을 위해 conne..