JPA는 객체와 테이블(어플리케이션과 데이터베이스)간 통역의 역할을 해주는 ORM 중 하나입니다.
JPA는 특히나 영속성 컨텍스트가 굉장히 중요시 되는데요,
영속성 컨텍스트는 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 합니다.
("영속성" : 엔티티를 영구 저장하는 환경)
그래서 영속성 컨텍스트는 뭐가 좋길래 JPA의 핵심이라 할까?
영속성 컨텍스트가 엔티티를 관리하면 얻게되는 장점
위와 같은 구조가 영속성 컨텍스트이고 장점인데, 오늘은 1차 캐시에 관해서만 얘기를 나눠보겠습니다.
영속성 컨텍스트는 내부에 캐시를 가지고 있는데 이것을 1차 캐시라 합니다. 영속 상태의 엔티티는 모두 이곳에 저장됩니다. 쉽게 말해 영속성 컨텍스트 내부에 Map이 하나 있는데 (1차 캐시), 키는 @Id로 매핑한 식별자고 값은 엔티티 인스턴스입니다.
1차 캐시의 흐름
1차 캐시의 추가 특징