영속성 컨텍스트2 [JPA] 영속성 컨텍스트의 이점 - 1차 캐시 영속성 컨텍스트의 이점 JPA에서 가장 중요한 개념인 영속성 컨텍스트! 영속성 컨텍스트의 가장 중요한 특징은 1차 캐시이다. EntityManager.persist()를 통해 영속성 컨텍스트 관리를 받는 엔티티는 1차 캐시라는 Map 형태의 저장 공간에 저장된다. 이때 key는 pk(primary key), value는 엔티티 객체 (=member) 가된다. 1차 캐시 동작 흐름 1. em.persist() : 영속성 부여 (1차 캐시 저장) 2. em.find() : 1차 캐시에서 primaryKey로 member 객체 조회 *2-2. 1차 캐시 조회 시 객체가 없는경우 DB에 접근해서 조회 2-3. DB에 조회한 값을 1차 캐시에 저장. 2-4. 반환. 3. tx.commit() -> 트랜잭션 커밋... 2024. 1. 10. [JPA] JPA와 영속성 컨텍스트(Persistent Context) 영속성(Persistent)이란 ? 영속성이란 어플리케이션이 종료되어도 사라지지 않는 데이터의 특성이다. 영속성을갖이 않는 데이터는 메모리에 존재했다가 어플리케이션이 종료되는 순간 사라진다. 우리는 데이터를 지속적으로 보관하기 위해 데이터베이스에 영구 저장함으로서 영속성을 부여한다. 영속성 컨텍스트(Persistent Conext)란? 영속성 컨텍스트란 데이터를 영구 저장하는 환경(context)으로 해석 할 수 있다. 영속성 컨텍스트는 EntityManager가 생성될 때 함께 생성된다. 어플리케이션과 DB사이에 객체를 보관하는 가상의 공간이라고 생각하면 이해하기 편하다. 단, JPA의 영속성 컨텍스트는 엔티티매니저가 생성한 트랜잭션 내에서만 유효하다. 트랜잭션이 종료되면 영속성 선텍스트에 저장된 데이.. 2023. 12. 29. 이전 1 다음