본문 바로가기
Spring/Spring Data JPA

[Spring Data JPA] JPA(Java Persistence API), Hibernate, Spring Data JPA의 개요

by 임채훈 2021. 12. 12.

JPA (Java Persistence API)

Java Persistence API는 자바의 ORM 표준 스펙이되는 인터페이스이다.

어떠한 라이브러리도, 프레임워크도 아닌 그저 Java를 활용해 RDBMS를 사용하는 방식을 정의한 표준이다.

말 그대로 표준 스펙이고 JPA 스펙을 기반으로 구현된 ORM Framework는 대표적으로 Hibernate가 있다.

JPA, Hibernate, Spring Data JPA

JPA는 앞서 언급했든 하나의 표준 스펙이며, Hibernate는 JPA Spec을 기반으로 직접 구현한 구현체이며 하나의 ORM Framework이다.

Spring Data JPA는 하나의 Spring 모듈로 볼 수 있고 JPA, Hibernate를 기반으로 한 단계 더 추상화시킨 모듈이다. 추가적으로 QueryDSL과 같은 조금 더 개발에 편리할 수 있는 유틸리티 모듈들이 계속 추가되고 있다.

Spring Data JPA는 우리 개발자가 직접 JPA 표준 스펙에서 등장하는 Persistence Layer에서의 EntityManager, JDBC API 등을 직접적으로 다루지 않아도 되도록 내부적으로 잘 처리를 해주고, 실제 개발을 할 때에는 Entity 설계와 Repository 위주에만 집중할 수 있다.

 

공식 레퍼런스

 

Spring Data JPA

Spring Data JPA, part of the larger Spring Data family, makes it easy to easily implement JPA based repositories. This module deals with enhanced support for JPA based data access layers. It makes it easier to build Spring-powered applications that use dat

spring.io

 

QuickStart

2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - QuickStart 1

2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] JPA Entity, Repository, Service 클래스 작성 (조회 및 저장) - QuickStart 2

2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 연관 관계 자식(하위) Entity 작성 - QuickStart 3

2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] Fetch Join (N + 1 Issue) - QuickStart 4

2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] JPA Query Methods - QuickStart 5 (End)

 

Table Of Contents

 

 

댓글