Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 멀티스레드
- Action Pattern
- TypeScript
- zipkin
- The law of Demeter
- java 정렬
- 배치
- Serial GC
- Java
- JPA
- 알고리즘
- Parallel Old GC
- 사가 패턴
- 생산자 소비자 패턴
- MSA
- Spring Boot Actuator
- 타입스크립트
- Transaction Pattern
- 스레드
- Resilinece4j
- 체인 패턴
- 디자인 패턴
- saga pattern
- spring batch
- 디자인패턴
- 스프링 배치
- 키클락
- Spring Cloud Netfilx Eureka
- spring cloud
- thread
Archives
- Today
- Total
PSD( Private-Self-Development )
JPA의 영속성 컨텍스트 본문
영속성 콘텍스트?
엔티티를 영구 저장하는 환경
EntitiyManager.persist( entity );
사실은 db에 저장하는 동작이 아닌
엔티티를 영속성 콘테스트에 영속하는 것
엔티티의 상태
- 비영속
ex) 객체 생성 후 데이터 세팅만 함
= 영속성 콘텍스트에 저장은 하지 않았다. - 영속
ex) EntitiyManager.persist( entity )
= DB에 저장한 것이 아닌 영속성 콘텍스트에 저장한 것
트랜젝션. commit 시 에만 DB에 저장한다. - 준영속
ex) EntitiyManager.detach( entity )
= 영속성 콘텍스트에서 해당 엔티티를 분리 - 삭제
EntitiyManager.remove( entity )
= 영속성 컨텍스트에 해당 엔티티 삭제 sql을 남긴다.
GIT의 로컬 저장소 개념과 비슷하다.
영속성 콘텍스트의 장점
- 캐시( 영속성 컨택스트 ) 사용 가능
- 영속 엔티티 간의 동일성을 보장한다.
ex) entity == entity는 - 쓰기 지연 가능
영속 콘텍스트 안에 쓰기 지연 sql 저장소를 운영한다!
- 변경 감지 기능
새로 추가하거나 조회해 올 때 자동적으로 해당 객체의 스냅숏을 찍어 놓고
비교한다
. - 지연 로딩
준영속 상태로 만드는 방법
// 준영속 상태로 전환
EntitiyManager.detach ( entity )
// 영속성 콘텍스트를 완전히 초기화
EntitiyManager.clear()
// 영속성 컨텍스트를 종료
EntitiyManager.close()
참조 : https://www.inflearn.com/course/ORM-JPA-Basic/dashboard
'Backend > JPA' 카테고리의 다른 글
JPA 의 프록시, 지연 로딩, 즉시 로딩 (0) | 2022.10.12 |
---|---|
JPA 의 상속 (0) | 2022.10.11 |
JPA의 DB 매핑 (0) | 2022.10.06 |
JPA 사용 설정 및 사용 (0) | 2022.10.05 |
JPA 란? (0) | 2022.09.28 |