본문 바로가기
Data Base/JPA

[JPA] : 영속성 컨텍스트(1)

by 오주현 2022. 3. 21.
반응형

영속성 컨텍스트는 JPA를 이해하는데 가장 중요한 용어로 “엔티티를 영구 저장하는 환경”이라는 뜻이다. EntityManager.persist(entity);

 

엔티티 매니저와 영속성 컨텍스트가 무엇일까? 영속성 컨텍스트는 논리적인 개념으로 눈에 보이지 않고 엔티티 매니저를 통해 영속성 컨텍스트에 접근하는 것이다.

 

엔티티 매니저가 생성하면 1:1로 영속성 컨텍스트가 생성이 된다. 즉, 엔티티 매니저 안에 눈에 보이지 않는 영속성 컨텍스트가 생기게 되는 것이라고 보면 된다.

 

엔티티의 생명주기도 알아두면 좋은데 비영속, 영속, 준영속, 삭제가 있다.

비영속은 new 상태라고 하고 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태이다.

영속은 Managed 상태로 영속성 컨텍스트에 관리되는 상태이다.

준영속은 detached로 영속성 컨텍스트에 저장되었다가 분리된 상태이다.

삭제는 removed로 말 그대로 삭제된 상태이다.

 

// 비영속, 맴버 객체만 생성
Member member = new Member();
member.setId(100L);
member.setName("HelloJPA");

//영속 - DB에 저장이 되지 않음
em.persist(member);

em.detach(member); // 준영속

자바 ORM 표준 JPA 프로그래밍 - 기본편을 참고하여 공부하였습니다.

반응형

댓글