🌱 오늘의 주제 : 영속성 관리
🌱엔티티 매니저 팩토리와 엔티티 매니저
- 엔티티 메니저는 여러 스레드가 동시에 접근하면 동시성 문제가 발생하므로 스레드 간에 절대 공유하면 안 된다.
🌱 영속성 컨텍스트란?
- JPA를 이해하는데 가장 중요한 용어는 영속성 컨텍스트다.
- 엔티티를 영구 저장하는 환경이라는 뜻이다.
- persist() 메소드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다.
- EntityManager.persist(entity);
- 엔티티 매니저를 통해서 영속성 컨텍스트에 접근
🌱 엔티티의 생명주기
- 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
- 영속(managed) : 영속성 컨텍스트에 관리되는 상태
- 준영속(detached) : 영속성 컨텍스트에 저장되었다가 분리된 상태
- 삭제 (removed) : 삭제된 상태
🌱 영속성 컨텍스트의 이점
- 1차 캐시
- 동일성(identity) 보장
- 트랜잭션을 지원하는 쓰기 지연 (transactional write-behind)
- 변경 감지(Dirty Checking)
- 지연 로딩(Lazy Loading)
🌱 엔티티 조회
🌱 엔티티 등록, 수정, 삭제
'JPA' 카테고리의 다른 글
JPA - 데이터베이스 스키마 자동 생성 (0) | 2023.08.15 |
---|---|
JPA - 엔티티 매핑 (0) | 2023.07.27 |
JPA - JPA 소개 (0) | 2023.07.11 |
JPA - 메소드 종류 (1) | 2023.06.16 |
JPA - Optional 클래스 (0) | 2023.06.03 |