[SPRING]JPA 영속성 컨텍스트(Persistence Context)란?

bluemind·2022년 11월 22일
0

SPRING

목록 보기
5/6

영속성 컨텍스트(Persistence Context)란?

  • Jpa를 이해하는데 가장 중요한 용어
    -- 논리적인 개념으로, 눈에 보이지 않는다
    -- Entity를 영구 저장하는 환경

EntityManager.persist(entity)
실제로는 DB에 저장하는 것이 아니라
영속성 컨텍스트를 통해서 Entity를 영속화한다는 뜻이다.
정확히 말하면 persist() 시점에는 Entity를 영속성 컨텍스트에 저장하는 것이다.

엔티티의 생명주기(Entity LifeCycle)

  • 비영속(new/transient)
    - 영속성 컨텍스트와 전혀 관계가 없는 상태
    - 객체를 생성’만’ 한 상태
// 객체를 생성한 상태 (비영속)
Member member = new Member();
member.setId("member1");
member.setUsername("회원1");
https://gmlwjd9405.github.io/2019/08/06/persistence-context.html
  • 영속(managed)
    - 영속성 컨텍스트에 저장된 상태
    - Entity가 영속성 컨텍스트에 의해 관리되는 상태
// 객체를 생성한 상태 (비영속)
Member member = new Member();
member.setId("member1");
member.setUsername("회원1");
EntityManager entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
// 객체를 저장한 상태 (영속)
entityManager.persist(member);
https://gmlwjd9405.github.io/2019/08/06/persistence-context.html

전체 출처 : https://gmlwjd9405.github.io/2019/08/06/persistence-context.html

profile
실력있는 개발자가 되기 위한 여정

0개의 댓글