개발 공부

JPA의 영속성 컨텍스트란?

king yun bell 2023. 5. 10. 19:35

영속성 컨텍스트란 엔티티를 영구 저장하는 환경이라는 뜻이다.

어플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다.

엔티티 매니저를 톷해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.

 

왜 영속성 컨텍스트가 등장하였는가 장점은 무엇인가.

우리가 데이터베이스에서 정보를 하나 꺼내올때, 계속 데이터베이스에 요청을 하게된다면 부하가 많이 걸리고, 속도에 영향을 줄 수도 있다.

해서 우리는 가상의 데이터 베이스(영속성 컨텍스트)에 정보를 저장해놓고 API요청을 처리할때 일일히 데이터베이스를 거치지 않고, 영속성 컨텍스트에서 정보를 빼오게 된다.

 

영속성 컨텍스트의 특징으로는

엔티티 매니저를 생성할 때 하나 만들어 진다.

엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있다.