Java Persistence API의 약자로, 자바 표준 ORM(Object Relational Mapping)입니다.
자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스입니다.
라이브러리가 아닌 인터페이스이므로 특정 기능을 하진 않아 별도로 Hibernate같은 구현체가 필요합니다.
ORM기술에 대한 명세서인 JPA(Java Persistence API)의 구현체의 한 종류입니다.
자바 프로그래밍 언어와 다양한 데이터베이스 SQL 또는 테이블 형태의 데이터 사이에 독립적인 연결을 지원하는 표준
DBMS회사들이 JDBC인터페이스를 구현하여 제공하며 이를 JDBC드라이버라고 한다. (DBMS회사들이 자신들의 DB 시스템이 접근할 수 있도록 JDBC 인터페이스에 명시된 메소드들을 구현한 것이라 볼 수 있다.)
JDBC API 사용 어플리케이션 기본 구성도
사용자들은 JDBC API의 사용법만 알아도 JDBC 드라이버를 제공하는 DBMS를 조작할 수 있게됩니다.
추가적으로 적자면!
Spring Data JPA란?
JPA를 쓰기 편하게 만들어 놓은 모듈
JPA를 한단계 추상화 시켜 Repository라는 인터페이스를 제공함으로써 이루어집니다. Repository인터페이스에 정해진 규칙대로 메소드를 입력하면, Spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어 Bean으로 등록해줍니다.