JPA란?

JPA는 Java 진영에서 사용하는 ORM(Object-Relational Mapping) 기술의 표준 사양(또는 명세, Specification)입니다.

Hibernate ORM

JPA 표준 사양을 구현한 구현체로는 Hibernate ORM, EclipseLink, DataNucleus 등이 있는데, 우리가 학습할 구현체는 바로 Hibernate ORM입니다.

데이터 액세스 계층에서의 JPA 위치

Untitled

JPA는 데이터 액세스 계층의 상단에 위치합니다.

데이터 저장, 조회 등의 작업은 JPA를 거쳐 JPA의 구현체인 Hibernate ORM을 통해 이루어지며 Hibernate ORM은 내부적으로 JDBC API를 이용해서 데이터베이스에 접근하게 됩니다.

JPA(Java Persistence API)에서 P(Persistence)의 의미

무언가를 금방 사라지지 않고 오래 지속되게 한다는 것이 P의 목적입니다.

영속성 컨텍스트(Persistence Context)

JPA에서 무얼 오래 지속되게 하는 것일까요?

ORM은 객체와 데이터베이스 테이블의 매핑을 통해 엔티티 클래스 객체 안에 포함된 정보를 테이블에 저장하는 기술입니다.

JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트에 보관해서 애플리케이션 내에 오래 지속되도록 합니다.

Untitled

JPA API로 영속성 컨텍스트 이해하기