JPA에서 가장 중요한 2가지
- 객체와 관계형 데이터베이스 매핑하기 (ORM)
- 영속성 컨텍스트
1. 영속성 컨텍스트
- JPA에서 관리되는 Entity 객체의 논리적인 저장소
- Entity 객체의 생명 주기를 관리하고, DB와의 상호작용을 최적화하는 역할을 한다.
https://chat.openai.com/share/d91d8f7c-5495-4c01-adf6-313078551d53
1) 영속성 컨텍스트의 장점
(1) 1차 캐시
(2) 동일성 보장 (Identity)
(3) 트랜잭션을 지원하는 쓰기 지연 (Transactional write-behind)
(4) 업데이트 변경 감지 (Dirty Checking)
(5) 지연 로딩 (Lazy Loading)
2) 영속성 컨텍스트를 플러시하는 방법
(1) em.flush() : 직접 호출
(2) 트랜잭션 커밋 : flush 자동 호출
(3) JPQL 쿼리 실행 : flush 자동 호출
3) 준영속 상태로 만드는 방법
준영속 : 영속성 컨택스트에 저장되었다가 분리된 상태
DB와는 더 이상 연결되지 않으며, 변경 사항은 추적되지만 자동으로 반영되지 않는다.
(1) em.detach(entity) : 특정 엔티티만 준영속 상태로 전환
(2) em.clear() : 영속성 컨텍스트를 완전히 초기화
(3) em.close() : 영속성 컨텍스트를 종료
'Spring > ORM' 카테고리의 다른 글
6. 다양한 연관관계 매핑 (0) | 2023.09.03 |
---|---|
5. 연관관계 매핑 기초 (0) | 2023.09.02 |
4. 엔티티 매핑 (0) | 2023.09.02 |
2. JPA 시작하기 (0) | 2023.08.29 |
1. JPA 소개 (0) | 2023.08.29 |