본문 바로가기
개발/JPA

[JPA] 영속성 컨텍스트 / 엔티티의 생명주기

by Allonsy 2022. 3. 31.
반응형

# 영속성 컨텍스트

"엔티티를 영구 저장하는 환경"

EntityManager.persist(entity); // 객체를 영속성 컨텍스트에 저장(영속화)

엔티티 매니저를 통해서 영속성 컨텍스트에 접근

 

# 엔티티의 생명주기

1. 비영속

영속성 컨텍스트와 전혀 관계가 없는 새로운 상태

Member member = new Member(); // 비영속

 

2. 영속

영속성 컨텍스트에 관리되는 상태

Member member = new Member();

..

em.persist(entity); // 영속 상태

* 엔티티매니저를 통해 persist 해줘야만 영속 상태! DB에 저장되는건 아님!

tx.commit(); // 트랜잭션을 커밋할때 DB에 저장

 

3. 준영속

영속성 컨텍스트에 저장되었다가 분리된 상태

em.detach(entity); // 영속성 컨텍스트에서 entity 삭제

 

4. 삭제

삭제된 상태

em.remove(entity); // 객체를 디비에서 지우겠다!

 

 

인프런 - 자바 ORM 표준 JPA 프로그래밍 - 기본편(김영한 강사님) 강의를 수강하며 정리한 글입니다 :)

반응형

댓글