묠니르묘묘
꾸준히 성장하는 개발자스토리
묠니르묘묘
전체 방문자
오늘
어제
  • 분류 전체보기 (188)
    • 프로그래밍 (48)
      • 디자인패턴 (4)
      • 예외,에러 (4)
      • Java (29)
      • Kotlin (3)
      • React.js (4)
      • JavaScript (2)
      • Apache Kafka (2)
    • Spring (49)
      • Spring (21)
      • Spring Cloud (3)
      • JPA (25)
    • 코딩테스트 (31)
      • 알고리즘 (5)
      • Java - 백준 (26)
      • Java - 프로그래머스 (0)
    • AWS (7)
    • 데이터베이스 (6)
    • 개발 etc (23)
    • 도서 (5)
    • 회고록 (4)
    • 데브코스-데이터엔지니어링 (15)

인기 글

최근 글

hELLO · Designed By 정상우.
묠니르묘묘

꾸준히 성장하는 개발자스토리

Spring/JPA

JPA 영속성 관리 - 정리

2022. 2. 22. 00:07

엔티티 매니저 팩토리와 엔티티 매니저

영속성 컨텍스트 소개

영속성 컨텍스트 특징

플러시란?

준영속 상태와 병합

 

JPA 영속성 관리의 마지막 글이다.

이번 장에서는 위 내용에 대해 정리를 해보자.

 

 


EntityManagerFactory와 EntityManager

엔티티 매니저는 엔티티 매니저 팩토리에서 생성한다.

자바를 직접 다루는 J2SE 환경에서는 엔티티 매니저를 생성하면 그 내부에 영속성 컨텍스트도 같이 생성된다.

엔티티 매니저를 통해 영속성 컨텍스트를 접근할 수 있다.

 

 

영속성 컨텍스트 (Persistence Context)

애플리케이션과 DB 사이에서 객체를 보관하는 가상 DB같은 역할을 한다.

영속성 컨텍스트 덕분에 1차 캐시, 동일성 보장, 트랜잭션을 지원하는 쓰기 지연, 변경 감지(Dirty Checking), 지연 로딩 기능이 가능하다.

 

영속성 컨텍스트가 관리(저장)하는 엔티티를 영속 상태의 엔티티라 한다.

영속성 컨텍스트가 관리하지 못하면 준영속 상태의 엔티티로 된다. 이 때 영속성 컨텍스트의 기능을 사용할 수 없다.

 

영속성 컨텍스트에 저장한 엔티티는 플러시 시점에 DB에 반영된다.

일반적으로 트랜잭션을 커밋할 때 영속성 컨텍스트가 플러시된다.

 

플러시(flush)는 영속성 컨텍스트의 변경 내용을 DB에 반영하는 것이다.

 

 


자바 ORM 표준 JPA 프로그래밍 / 김영한 지음 / 에이콘출판주식회사 출판

자바 ORM 표준 JPA 프로그래밍 - 기본편 / 김영한 / 인프런 강의

저작자표시 비영리 (새창열림)

'Spring > JPA' 카테고리의 다른 글

JPA 필드와 컬럼 매핑  (0) 2022.02.25
JPA 데이터베이스 자동 생성  (0) 2022.02.23
JPA 준영속, 병합  (0) 2022.02.21
JPA 플러시(flush())란?  (0) 2022.02.21
영속성 컨텍스트(Persistence Context) #2  (0) 2022.02.21
    'Spring/JPA' 카테고리의 다른 글
    • JPA 필드와 컬럼 매핑
    • JPA 데이터베이스 자동 생성
    • JPA 준영속, 병합
    • JPA 플러시(flush())란?
    묠니르묘묘
    묠니르묘묘

    티스토리툴바