Spring Data JPA란?
- Spring 프레임워크에서 제공하는 JPA를 위한 라이브러리
- 다양한 기능을 제공하여 애플리케이션 개발을 더욱 간편하고 효율적으로 만들어준다.
- Spring 프레임워크와 JPA를 함께 사용하면 더욱 강력하고 유연한 데이터 접근 계층을 구축할 수 있다.
제공 기능
JPA 기능 추상화
- JPA의 복잡한 인터페이스를 추상화하여 코드 작성을 간소화한다.
- JPA 표준을 구현하는 다양한 ORM 프레임워크를 지원한다. (예시 : 하이버네이트)
Repository 인터페이스
- 데이터 접근 계층(DAO)를 위한 기본 인터페이스를 제공한다.
- CRUD(Create, Read, Update, Delete) 작업을 위한 추상 메소드를 제공한다.
자동 쿼리 생성
- 엔터티 클래스와 메소드 이름을 기반으로 자동으로 쿼리를 생성한다.
- JPQL(Java Persistence Query Language)을 사용하여 쿼리를 직접 작성할 수 있다.
데이터 페이징 및 정렬
- 페이징 및 정렬 기능을 쉽게 구현할 수 있도록 지원한다.
- 다양한 페이징 라이브러리와 연동 가능한다.
트랜잭션 관리
- Spring 프레임워크의 트랜잭션 관리 기능을 활용할 수 있다.
- 데이터 접근 계층에서 트랜잭션을 쉽게 관리할 수 있다.
Auditing
- 엔터티 객체의 변경 내용을 자동으로 감사(audit)할 수 있다.
- 누가, 언제, 어떤 내용을 변경했는지 추적할 수 있다.
환경설정
build.gradle
의 dependencies에 단 1줄만 추가해주면 된다.