엔티티 생성
Member member = new Member();
member.setId("member1");
member.setUsername("회원1");
엔티티를 영속
em.persist(member)
영속성 컨텍스트 내부에 Map이 하나 있는데 키는 @Id로 매핑한 식별자고 값은 엔티티 인스턴스임
이렇게 엔티티를 영속시키면 1차 캐시에 저장됨

1차 캐시의 키는 식별자 값이다. 그리고 식별자 값은 데이터베이스 기본키와 매핑되어 있다. 따라서 영속성 컨텍스트에 데이터를 저장하고 조회하는 모든 기본은 데이터베이스 기본 키 값

Memeber a = em.find(Member.class, "member1");
Memeber b = em.find(Member.class, "member1");
여기서 a == b 가 참이라는 말이다.
참고자료: 김영한. [자바 ORM표준 JPA 프로그래밍],2015
| JPA에서 Cascade Type을 지정하지 않으면? (0) | 2024.06.01 |
|---|---|
| [JPA/Hibernate] Flush란? (0) | 2024.05.30 |
| [JPA/Hibernate]엔티티 수정/ 변경감지(Dirty Checking) (0) | 2024.05.30 |
| [JPA]엔티티 등록/ 지연등록(transactional write-behind) (0) | 2024.05.30 |
| [JPA] 엔티티 생명 주기/영속성 컨텍스트란? (0) | 2024.05.27 |