→ 애플리케이션이 실행 중일 때뿐만 아니라, 종료된 이후에도 데이터를 보존하는 기능을 말한다.
![]() |
|---|
✔️ DB, 파일 시스템, 클라우드 저장소 등이 대표적인 영속 저장소
JPA에는 영속성 컨텍스트(Persistence Context) 라는 것이 있는데, 요놈이 객체를 영속 상태로 만들어서 DB와 동기화하는 역할을 한다.
JPA에서 객체의 상태 변화를 살펴보면,
비영속 (New, Transient)
영속 (Managed)
준영속 (Detached)
삭제 (Removed)
➡️ 객체의 상태는 비영속 → 영속 → 준영속 → 삭제 상태로 변한다.
User user = new User(); // 비영속 상태
EntityManager.persist() 를 호출하면 영속성 컨텍스트가 객체를 관리하고, 필요할 때 DB에 저장한다.entityManager.persist(user); // 영속 상태
entityManager.detach(user); 를 하면 객체가 더 이상 영속성 컨텍스트에서 관리되지 않는다.entityManager.detach(user); // 준영속 상태
entityManager.remove(user); 를 하면 DB에서도 삭제된다.entityManager.remove(user); // 삭제 상태