twocowsong

영속성 컨텍스트의 특징 본문

IT/JPA

영속성 컨텍스트의 특징

WsCode 2022. 5. 1. 20:00

깃허브 정리 URL : https://github.com/sWineTake/jpa.git

 

GitHub - sWineTake/jpa: 자바 ORM 표준 JPA 프로그래밍 - 김영한

자바 ORM 표준 JPA 프로그래밍 - 김영한. Contribute to sWineTake/jpa development by creating an account on GitHub.

github.com

 

영속성 컨텍스트의 특징

- 영속성 컨텍스트와 식별자의 값

영속성 컨텍스트는 엔티티를 식별자 값으로 구분합니다. 저희는 Member엔티티의 @Id로 테이블의 기본 키와 매핑하였으므로 @Id로 구분합니다. 따라서 영속 상태는 값이 반드시 있어야 합니다. 식별자 값이 없으면 예외가 발생합니다.

 

- 영속성 컨텍스트와 DB저장

영속성 컨텍스트에 엔티티를 저장하면 엔티티는 언제 DB에 저장될까?

JPA는 보통 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 DB에 반영하는데

이것을 flush라 합니다.

 

영속성 컨텍스트가 엔티티를 관리하면 다음과 같은 장점이 있습니다.

- 1차 캐시

- 동일성 보장

- 트랜잭션을 지원하는 쓰기 지연

- 변경 감지

- 지연 로딩

'IT > JPA' 카테고리의 다른 글

영속성 컨텍스트 - 트랜잭션  (0) 2022.05.03
엔티티 컨텍스트의 1차 캐시  (0) 2022.05.02
엔티티의 생명주기  (0) 2022.05.01
영속성 컨테스트  (0) 2022.05.01
EntityManagerFactory와 EntityManager  (0) 2022.04.30