• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

JPA, Hibernate, Spring Data JPA 의 차이점에 헤깔려서 질문올립니다!!

21.04.11 22:23 작성 조회수 308

0

제가 이해한게 맞는지 여쭤보고 싶어서 질문을 남깁니다!!

JPA 는 EntityManager 로 ORM 구현

Hibernate는 SessionFactory로 ORM 구현

Spring Data Jpa는 Repository에 JpaRepository를 상속받고 엔티티 객체를 구현하여 ORM 구현

JPA를 사용하지만 구현체인 hibernate를 사용하지 않아도 되고 즉 EntityManager로도 충분히 가능함

이 차이점이 맞나요??

Spring Data Jpa를 사용하지 않고 그냥 JPA만 사용할 경우에도 라이브러리를 spring-data-jpa 를 사용하는건가요??

답변 1

답변을 작성해보세요.

1

JPA는 표준 인터페이스와 구현체를 동시에 제공하고 있으며 JPA를 쓰면서 구현체로는 하이버네이트를 쓰는것도 가능합니다. 하이버네이트가 JPA 구현체니까요. 스프링 데이터 JPA는 JPA 를 손쉽게 쓸 수 있게 도와주는 거구요. 말씀하신대로 하이버네이트 없이 스프링 데이터 JPA와 JPA만 가지고도 쓸 수 있습니다.

JPA만 사용할 경우에는 스프링 데이터 JPA를 사용할 필요가 없습니다.

아하! 감사합니다!!!