Java Persistence API: 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스, 즉 명세이며 구현이 없다.
Hibernate는 JPA의 구현체이다.
JPA를 쓰기 편하게 만든 모듈이다. JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공해서, 사용자가 Repository 인터페이스에 정해진 규칙대로 메소드를 입력하면, 스프링이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록해준다.

참고
https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/