John's Code Journey

[Spring Boot] Persistence Context 영속성 컨텍스트 본문

IT공부/Spring Boot

[Spring Boot] Persistence Context 영속성 컨텍스트

Johnnnn 2025. 4. 17. 11:52
728x90

🔸 영속성이란?

데이터가 메모리에만 있지 않고, DB에 저장되어서 "오래도록 유지될 수 있는 상태" 를 뜻함.

 

📍 쉽게 말하면?

  • 우리가 자바 프로그램에서 어떤 객체를 만들면, 그 객체는 프로그램이 종료되면 사라진다.
  • 그런데 그걸 데이터베이스에 저장하면, 프로그램이 꺼져도 그 데이터는 계속 남아 있음.
  • 이렇게 "오래 살아남는" 상태를 영속(Persistent)이라고 함.

🔸 비유로 이해하기

✅ 비영속 상태

Member member = new Member(); // 그냥 자바 객체
  • 그냥 메모리에만 있음. 저장 안 된 상태.
  • 컴퓨터 꺼지면 사라짐.

✅ 영속 상태

em.persist(member);
  • JPA가 이 객체를 영속성 컨텍스트에 등록하고, 나중에 DB에 insert함.
  • 데이터베이스에 저장되면 오래 살아남는 상태가 됨 → 영속 상태!

🔸 그래서 영속성 컨텍스트는?

자바 객체가 DB에 저장되기 전이나 후에 JPA가 관리하는 공간(메모리)이고, 이 안에 있는 객체들은 "영속 상태"라고 함.

🔸 요약

영속(Persistent) DB에 저장되어 오래 남는 상태
비영속(Transient) 그냥 메모리에만 있는 상태, 저장 안 됨
준영속(Detached) 원래 영속이었지만 관리 안 되는 상태
영속성 컨텍스트 영속 상태인 객체들을 관리하는 JPA의 메모리 공간

 

'IT공부 > Spring Boot' 카테고리의 다른 글

[Spring Boot] 개발 순서 가이드  (0) 2025.05.09
[Spring Boot] Validation 검증  (0) 2025.04.28
[Spring Boot] 생성일 자동 설정 비교  (1) 2025.04.08
[Spring Boot] IoC/DI  (0) 2025.04.02
[Spring Boot] 기본 흐름  (1) 2025.04.02