728x90
정의
- 엔티티를 영구 저장하는 환경
- 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 보관하고 관리함
엔티티 생명주기
- 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태
- 영속(managed) : 영속성 컨텍스트에 저장된 상태
- 준영속(detacted) : 영속성 컨텍스트에 저장되었다가 분리된 상태
- 삭제(removed) : 삭제된 상태
//객체를 생성한 상태 (비영속)
Member member = new member();
member.setId("member1");
member.setUsername("회원1");
//객체를 저장한 상태 (영속)
em.persist(member);
//엔티티를 영속성 컨텍스트에서 분리 (준영속)
em.detach(member);
//객체를 삭제한 상태(삭제)
em.remove(member);
특징
- 영속성 컨텍스트는 엔티티를 식별자 값으로 구분함, 영속상태에서는 식별자 값(@Id로 기본키 매핑값)이 필수
- 트랜잭션을 커밋한순간 플러시를 통해서 반영
- 엔티티 관리를 통하여 1차 캐시, 동일성 보장, 변경감지, 지연 로딩, 트랜잭션을 지원하는 쓰기 지연 등 장점이 있음
'SPRING' 카테고리의 다른 글
[SPRING] DISPATCHER-SERVLET (0) | 2021.06.07 |
---|---|
[SPRING] Bean (0) | 2021.05.23 |
[SPRING] 컨테이너 (Container) (0) | 2021.05.23 |
[SPRING] JPA 연관관계 (0) | 2021.05.19 |
[SPRING] 의존성 주입 (0) | 2021.05.17 |