❓ 영속성 컨텍스트란?

JPA를 이해하는 데 가장 중요한 용어는 영속성 컨텍스트(persistence context)다. 해석하자면 엔티티를 영구 저장하는 환경이라는 뜻이다.

엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.

em.persist(member) 이 코드를 단순히 회원 엔티티를 저장한다고 표현했다.

정확히 말하면 persist() 메소드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다.

영속성 컨텍스트는 논리적인 개념에 가까우며, 엔티티 매니저를 생성할 때 하나 만들어진다.

이후 영속성 컨텍스트에 접근할 수 있고, 관리할 수 있다.

참고

여러 엔티티 매니저가 같은 영속성 컨텍스트에 접근할 수도 있다. (이후 내용에서 설명)