- Jpa를 이해하는데 가장 중요한 용어
-- 논리적인 개념으로, 눈에 보이지 않는다
-- Entity를 영구 저장하는 환경
EntityManager.persist(entity)
실제로는 DB에 저장하는 것이 아니라
영속성 컨텍스트를 통해서 Entity를 영속화
한다는 뜻이다.
정확히 말하면 persist() 시점에는 Entity를 영속성 컨텍스트에 저장하는 것이다.
- 비영속(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