[Spring] JPA 퍼시스턴스 처리

[verify$y]·2025년 5월 21일

Spring

목록 보기
1/16

JPA 퍼시스턴스란?

  • JPA는 Java Persistence API의 약자로, 자바 객체를 데이터베이스 테이블에 매핑하고, 해당 객체의 상태를 데이터베이스에 저장하거나 관리할 수 있도록 해주는 자바 표준 기술이다.

  • 여기서 Persistence(퍼시스턴스)는 원래 "지속성"이라는 뜻이며, 소프트웨어에서는 메모리상의 데이터를 데이터베이스나 파일과 같은 비휘발성 저장소에 영구 저장하는 것을 의미한다.

정리하면

  • 자바 객체를 DB에 저장하고 꺼내오는 걸 도와주는 기술이 JPA이고,
    그 객체를 영구 저장하거나 불러오는 행위를 ‘퍼시스턴스’(영속화)라고 부른다.

용어 정리와 표현의 정확성

1. JPA = Java Persistence API

  • JPA 자체가 Java Persistence API의 약자다.
  • 따라서 "JPA 퍼시스턴스"는 문자 그대로 해석하면 "Java Persistence API 퍼시스턴스"가 되어 ‘퍼시스턴스’라는 단어가 중복되는 셈이다.

2. 그렇다면 왜 "JPA 퍼시스턴스"라고도 말하는가?

  • "JPA의 퍼시스턴스 처리", "JPA 퍼시스턴스 컨텍스트", "JPA 퍼시스턴스 상태" 같은 표현이 자주 쓰인다.
  • 이때 "퍼시스턴스"는 행위 또는 개념(영속화, 영속 상태, 컨텍스트)를 뜻하고, JPA는 그걸 관리하는 기술/API로서 명시되는 것이다.
  • 즉, "JPA"는 기술, "Persistence"는 데이터를 영구 저장하는 개념이나 동작
  • 따라서 "JPA의 퍼시스턴스 개념" 또는 "JPA 기반의 퍼시스턴스 처리"처럼 문맥상 적절히 쓰면 자연스럽다.

3. 결론

  • 엄밀히 말하면 "JPA 퍼시스턴스"는 중복 표현이지만,
    "JPA의 퍼시스턴스 컨텍스트", "JPA의 퍼시스턴스 상태"처럼 JPA 기술 하에서 발생하는 '영속 관련 동작이나 개념'을 지칭할 때는 자연스럽고 관용적으로 사용된다.

코드

@Entity
public class Member {
    @Id
    private Long id;
    private String name;
}
  • 위와 같이 @Entity 애노테이션을 붙이면, 이 클래스는 JPA가 관리하는 엔티티 객체가 된다.
  • 이후 entityManager.persist(member);처럼 저장하면 해당 객체는 DB에 저장되며 "영속 상태"가 된다.
  • 이 과정을 JPA의 퍼시스턴스 처리라고 부른다.

용어 요약

  • Entity : DB 테이블과 매핑되는 자바 클래스
  • Persistence : 데이터를 DB에 영구 저장하는 행위
  • JPA : 자바 객체와 DB 간 매핑과 퍼시스턴스를 표준화한 기술
  • Hibernate : JPA를 구현한 대표적인 구현체 (라이브러리)
profile
welcome

0개의 댓글