JPA와 Hibernate, Spring Data JPA를 헷갈리지 않게 구분하는 방법 빠른 답 JPA는 표준 명세이고, Hibernate는 그 명세를 구현하는 ORM 엔진이다. Spring Data JPA는 JPA 위에 Repository 추상화를 얹어 반복 코드를 줄여준다. 현업의 흔한 조합은 Spring Data JPA + Hibernate이지만, 세 개는 같은 계층의 기술이 아니다. 성능이나 쿼리 문제를 볼 때는 Repository 이름보다 결국 Hibernate가 만든 SQL과 JPA 설정을 함께 봐야 한다. 초안을 발행용 본문으로 재구성하되, 버전 민감한 부분은 공식 문서 기준으로 먼저 확인하겠습니다. 이후 비교 축, 실행 흐름, 현재 기준 migration 포인트가 초반부터 보이도록 문단과 예시를 정리하겠습니다.# JPA와 Hibernate, Spring Data JPA를 헷갈리지 않게 구분하는 방법 목차 한눈에 비교 흐름으로 보기 왜 셋이 늘 한 묶음처럼 보일까 JPA는 명세이고, Hibernate는 구현체이고, Spring Data JPA는 추상화다 코드로 보는 역할 차이 실무에서는 어떤 조합으로 쓰게 될까 지금 기준에서 주의할 버전 포인트 Spring Data JPA를 써도 Hibernate를 알아야 하는 순간 언제 무엇을 기준으로 선택하면 될까 한눈에 비교 JPA: 무엇을 표준화하나가 핵심이다. EntityManager , 엔티티 매핑, JPQL, 영속성 컨텍스트, 엔티티 생명주기 같은 공통 규칙을 정의한다. Hibernate: 어떻게 실행하나가 핵심이다. JPA 규약을 받아 SQL을 만들고, DB dialect를 적용하고, 캐시와 배치, flush, proxy, lazy loading을 처리한다. Spring Data JPA: 어떻게 덜 쓰고 빨리 만들까가 핵심이다. JpaRepository , 메서드 이름 기반 쿼리, @Query , 페이지네이션, 정렬, Specification 같은 생산성 기능을 제공한다. ...