JPA프로그래밍 기초 2

영속성 컨텍스트 2

엔티티 조회, 1차캐시 JPA에서 1차 캐시는 엔티티를 영속성 컨텍스트에서 관리하는 캐시를 의미한다. find()나 getReference() 메서드로 조회한 엔티티 객체는 1차 캐시에 저장된다. 같은 엔티티를 다시 조회할 경우 1차 캐시에서 먼저 조회하게 되어 DB에서 조회하지 않고 캐시된 엔티티를 반환한다. 1차 캐시는 엔티티 매니저의 생명주기와 같이 유지된다. 1차 캐시에 저장된 엔티티의 상태가 변경되면 엔티티 매니저는 변경 내용을 즉시 DB에 반영하지 않아도 된다. 엔티티 저장 엔티티를 생성한 후 persist 메서드를 이용해 영속 상태로 만든다. DB PK로 지정한 값을 키로, 엔티티 자체를 값으로 1차 캐시에 저장한다. 엔티티 조회 - 1차 캐시에서 조회 find 메서드를 사용하면 우선 DB가..

영속성 컨텍스트 1

JPA에서 가장 중요한 2가지객체와 RDB 매핑하기영속성 컨텍스트  영속성 컨텍스트엔티티를 영구저장하는 환경이라는 뜻이다.EntityManager.persist(entity) 를 통해서 DB에 저장하는게 아니다Entity를 영속성 컨텍스트에 저장하는 것이다.영속성 컨텍스트는 논리적인 개념으로, 눈에 보이지 않는다.엔티티매니저를 통해서 영속성 컨텍스트에 접근한다.   엔티티의 생명주기비영속(new/transient) 영속성 컨텍스트랑 전혀 관계가 없는 새로운 상태위 예시는 Member 객체만 생성하고 EntityManager에 아무것도 넣지 않은 상태이므로 JPA와 상관 없는 상태이다. 영속(managed) 영속성 컨텍스트에 의해 관리되는 상태persist 메서드에 의해 EntityManager 안으로 들..