본문 바로가기
JPA/JPA원리

5 JPA 준영속 상태

by 킹차니 2021. 7. 3.
김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다.
https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C

 

 

영속화되는 상황은 두가지가 있습니다.

1. persist했을 때

2. find를 했는데 1차 캐시에 없어서 DB에서 가져온 후, 영속성 컨텍스트에 엔티티를 올려둔 경우

 

그렇다면 준영속 상태란?

영속 상태의 엔티티가 영속성 컨텍스트에서 분리(detached)되는 경우.

이렇게 되면 영속성 컨텍스트가 제공하는 기능을 사용할 수 없음(더티체킹, 지연 로딩 등등...)

 

준영속 상태로 만드려면 아래와 같이 하면 됩니다.(주석 참고)

 

 

 

준영속 상태로 만드는 3가지 방법 :

 

em.detach(entity)  : 특정 엔티티만 준영속 상태로 만들기

em.clear()                : 영속성 컨텍스트를 완전히 초기화 

em.close()                : 영속성 컨텍스트를 종료