Spring Data JPA는 JPA를 쓰기 편하게 만들어놓은 Spring에서 제공하는 모듈
JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공
Repository 인터페이스에 정해진 규칙대로 메소드를 입력하면, Spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록
Spring Data JPA가 JPA를 추상화했다는 말은, Spring Data JPA의 Repository의 구현에서 JPA를 사용하고 있다는 것
예를 들어, Repository 인터페이스의 기본 구현체인
SimpleJpaRepository의 코드를 보면 내부적으로
EntityManager을 사용하고 있는 것을 볼 수 있음
JPA > Hibernate > JDBC를 통해 DB조회
Spring Data JPA > Repository > JDBC를 통해 DB조회
https://ragunathrajasekaran.medium.com/getting-started-with-spring-data-jpa-hibernate-orm-repository-part-4-95a6ef2af513
https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/
hibernate 사용 예시 - https://onecellboy.tistory.com/349