ORM : 객체지향 패러다임을 관계형 DB에 보존하는 기술, 객체지향 패러다임을 관계형 패러다임으로 매핑해주는 개념
// Member 클래스
public class Member {
private String id;
private String pw;
private String name;
}
Member 테이블
id | String |
---|---|
pw | String |
name | String |
JPA는 Java Persistence API의 약어로 ORM을 Java 언어에 맞게 사용하는 스펙이다.
JPA는 단순한 스펙이기 때문에 해당 스펙을 구현하는 구현체마다 이름이 다르다.
가장 유명한 것은 Hibernate 이다.
스프링 부트는 JPA의 구현체 중에서 Hibernate를 이용한다.
프로젝트 생성 시 추가한 Spring Data JPA는 Hibernate를 스프링 부트에서 쉽게 사용할 수 있는 추가적인 API들을 제공한다.
스프링 프레임워크 자체는 대부분의 다른 프레임워크와의 호환성을 위한 라이브러리를 제공하는데 Spring Data JPA 역시 그러한 예이다.
Spring Data JPA를 이용하면 다음과 같은 구성을 이용하게 된다.