Object-Relational Mapping(객체 관계 매핑)
: 프로그래밍 기술 중 하나로, 데이터베이스와 객체지향 언어를 연결해주는 다리(Bridge)와 같은 것!

Java)는 클래스를 사용하여 객체들 간에 연관관계 등으로 데이터를 표현하게 되기 때문이다.따라서, 이렇게 데이터의 표현방법이 다른 둘 사이를 맵핑해주어 불일치를 해결해주기 위해 ORM 프레임워크가 필요한 것!
Jakarta Persistence API(구 Java Persistence API)
: 자바 진영의 ORM 기술 표준

JPA는 인터페이스이기 때문에 이 자체로는 구현이 불가하다. 즉, Hibernate, EclipseLink 등과 같은 구현체를 통해서 이 JPA의 구현이 가능하다.
간단하게, JPA는 객체지향 언어로 설계된 객체들을 이용해 관계형 데이터베이스를 관리하기 위한 방법을 정의해둔 기술명세서!
이 기술명세서를 바탕으로 구현된 프레임워크(Framework)들이 Hibernate, EclipseLink 등이다.
🔖 그렇다면
Spring Data JPA란 뭘까?
:Hibernate와 같은 프레임워크라고 생각할 수 있지만,Spring Data JPA는 그저 개발자가 JPA를 더 쉽고 편리하게 사용할 수 있도록 Spring에서 제공하는 모듈 중 하나이다. 이 모듈은 repository를 기반으로 JPA를 추상화하여 데이터를 영속화하기 위해 필요했던 많은 코드의 양을 줄여줌으로 개발자가 편리하게 데이터를 관리할 수 있게 해준다.
추상화의 의미는 "복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다." - 위키백과 '추상화(컴퓨터과학) 내용 발췌