[Spring JPA #5] JPA 엔티티 상태
| 엔티티 상태
JPA에서는 엔티티의 상태를 다음과 같이 나눈 후 사용자가 요청한 사항에 맞추어 관리하게 됩니다.
- Transient : JPA가 엔티티를 나타내는 객체에 대한 정보를 모르는 상태
- Persistent : JPA가 엔티티를 관리 중인 상태
- Detached : JPA가 더이상 엔티티를 관리하지 않는 상태
- Removed : JPA가 엔티티를 관리하는 상태에서 이 엔티티를 삭제하기로한 상태
| JPA에서 제공하는 엔티티 기능 : 1차 캐시, Dirty Checking, Write Behind
- 1차 캐시 : JPA에서 DB로 엔티티를 영속화 했을 때, 다시 그 엔티티를 받아올 때는 상태가 변경되지 않았을 시, 메모리에 캐시된 엔티티 정보를 받아옵니다.
- Dirty Checking : 엔티티의 변경 사항을 추적하는 기능입니다. 상태를 추적하여 데이터에 변화가 없을 경우에는 어떠한 상태도 DB에 반영하지 않습니다.
- Write Behind : DB에 엔티티의 변경사항을 최대한 필요한 시점에 반영하는 것을 의미합니다.
'Spring Data > Spring Data JPA' 카테고리의 다른 글
[Spring JPA #9] 스프링 데이터 JPA 원리 및 스프링 데이터 구성 요소 (0) | 2021.03.25 |
---|---|
[Spring JPA #8] JPA Query (0) | 2021.03.25 |
[Spring JPA #7] JPA Fetch (0) | 2021.03.25 |
[Spring JPA #6] JPA Cascade (0) | 2021.03.25 |
[Spring JPA #4] JPA 관계 매핑 (0) | 2021.03.25 |
[Spring JPA #3] Entity 매핑 및 Value 타입 매핑 (0) | 2021.03.25 |
[Spring JPA #2] JPA 엔티티 매핑 (0) | 2021.03.25 |
[Spring JPA #1] JPA 시작 및 세팅하기 (0) | 2021.03.25 |