Home JPA 영속성 컨텍스트
Post
Cancel

JPA 영속성 컨텍스트

영속성(Persistence)

JPA의 영속성 컨텍스트에 대해 알아보기 전 우선 영속성이라는 단어부터 알아보자.

1
2
컴퓨터 공학에서 지속성(Persistence)은 프로세스가 생성했지만 별개로 유지되는 상태의 특징 중 한 가지이며,
별도의 기억 장치에 데이터를 보존하는 것을 목적으로 한다. [위키백과]

한마디로 DB와 같은 별도의 저장소에 데이터를 영구적으로 저장하는 것을 말한다.

영속성 컨텍스트(Persistence Context)

JPA에서 영속성 컨텍스트는 가장 중요한 개념 중 하나로 자주 언급될 것이다. JPA에서는 Entity라는 특별한 객체를 관리하는데 영속성 컨텍스트란 이러한 엔티티를 영구 저장하는 환경을 의미한다.

1
2
3
4
Entity는 JPA에서 관리하는 특별한 객체를 말한다. Entity는 하나의 테이블에 대응되도록 설계되고
JPA는 Entity를 통해 DB에서 데이터를 조회, 저장, 수정, 삭제한다.

그리고 이러한 Entity 객체들을 관리하는 역할을 하는 것이 'EntityManager' 이다.

EntityManager와 영속성 컨텍스트

EntityManager는 위에서 언급하였듯 Entity 객체들을 관리하는 역할을 한다. JPA에서는 EntityManager를 통해 Entity들을 영속성 컨텍스트에 저장한다. 그리고 이렇게 영속성 컨텍스트에 저장 된 Entity는 영속성 컨텍스트에 관리되는 상태가 된다.(영속상태-managed)

(영속성 컨텍스트는 논리적인 개념으로 EntityManager를 통해 영속성 컨텍스트에 접근한다.)

1
EntityManager.persist(entity); //EntityManager를 통해 entity를 영속성 컨텍스트에 저장

JPA는 영속성 컨텍스트가 관리하는 영속상태의 Entity들을 DB에 반영하여 데이터를 저장, 수정, 삭제 한다.

참고

This post is licensed under CC BY 4.0 by the author.

HTTP 요청 파라미터

엔티티 생명주기(Entity LifeCycle)

Comments powered by Disqus.