아 이게 뭐임!

영속성 컨텍스트가 뭐임!

마로가마따 2022. 9. 4. 13:32

영속성 컨텍스트가 뭐임 ㅠㅠ

 

 


영속성이 무엇일까?

 

영속성은

데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성
자신을 생성한 작업이 종료되었어도 지속적으로 존재하는 상태

등등으로 설명한다.

 

 

메모리에 올라간 프로그램은 종료시에 모든 정보가 사라지지만 저장장치나 DB에 저장된 데이터는 프로그램이 종료되어도 데이터가 남아있다. 이러한 데이터는 영속성을 가졌다고 표현한다.

 

 


JPA에서 영속성 컨텍스트란?

영속성 컨텍스트는 논리적인 개념이라고 한다.

 

영속성 컨텍스트는 
"엔티티를 영구 저장하는 환경"
"Entity가 영구적으로 저장되는 환경"
"데이터를 영구적으로 저장하는 환경"
"엔티티를 영구 저장하는 환경"

 

등등으로 정의하고 있었다.

 

JPA 영속성 컨텍스트는 엔티티를 DB에서 가져올때 혹은 DB에 엔티티를 저장할때 그데이터를 중간에서 저장해주는 1차 캐시를 의미한다.

 

 

JPA의 구현체들은 JAVA 객체를 DB에 바로 저장할수 있게해주는데 객체의 변경이나 관리를 중간에서 객체를 어느시점에 저장하고 업데이트 해줄지를 관리하는 친구가 필요하다. EntityManager가 이러한 역할을 하는데 EntityManager는 EntityManagerFactory에 의하여 생성이 관리된다.

 

 

또한 EntityManager는 영속성 컨텍스트와 상호작용할 수 있게 도와주는 영속성 컨텍스트의 구현체라고 볼 수 있을 것이다.

 

 


 

 

반응형

'아 이게 뭐임!' 카테고리의 다른 글

findById와 getById의 차이가 뭐임? [스프링JPA]  (0) 2022.08.17
Telnet이 뭐임?  (0) 2022.04.19
JSON이 뭐임...!! (HTT...P..?)  (0) 2021.07.30
Generic 두개 이상의 변수 사용  (0) 2021.07.29
Generic이 뭐임!! [JAVA]  (0) 2021.07.28