Entity란 무엇일까? (2) - 영속성 콘텍스트의 기능
이전 내용과 더불어 영속성 콘텍스트의 기능에 대해 알아보자. 1차 캐시영속성 콘텍스트는 내부적으로 캐시 저장소를 가지고 있다.우리가 저장하는 Entity 객체들이 1차 캐시 (캐시 저장소)에 저
seungg8361.tistory.com
Entity는 4가지 상태를 가질 수 있다
- 비영속 상태 : entity 객체가 생성되었지만, 아직 영속성 콘텍스트와 연관되지 않은 상태
User user = new User("사용자");
- 영속 상태: entity 객체가 영속성 콘텍스트에 관리되고 있는 상태이며, entity의 변경사항이 자동으로 데이터베이스에 반영된다.
em.persist(user);
em.merge(detagedUser);
em.find(User.Class, 1L);
- 준영속 상태 : entity 객체가 한 번 영속성 콘텍스트에 의해 관리되었지만, 현재는 분리된 상태로 데이터베이스에 변경 사항이 더 이상 반영되지 않는다. 영속성 콘텍스트 종료, 트랜잭션 종료 등으로도 준영속 상태로 전환된다.
em.detach(user);
em.clear();
em.close();
- 삭제 상태 : entity 객체가 영속성 콘텍스트에서 제거된 상태로, entity 객체가 데이터베이스에서 삭제된다.
em.remove(user);
'🖥️ Back-end' 카테고리의 다른 글
Redis 기본 문법 알아보기 (1) | 2025.03.03 |
---|---|
인메모리 저장소와 Redis 란? - Redis Stack 설치 (0) | 2025.03.01 |
JPA의 N+1 문제란? (0) | 2025.02.21 |
JPA의 ddl-auto 옵션이란? (0) | 2025.02.17 |
Spring Data JPA에서 새로운 Entity를 판단하는 방법? (0) | 2025.02.14 |