관리 메뉴

제뉴어리의 모든것

JPA, Hibernate, Spring Data JPA정의 본문

Spring Boot

JPA, Hibernate, Spring Data JPA정의

제뉴어리맨 2021. 1. 16. 22:31

- JPA란

JPA는 기술 명세이다.

JPA는 Java Persistence API의 약자로, 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다. 즉, 클래스같은 구현체가 아니라 그냥 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다.

 

- Hibernate

JPA의 구현체
Hibernate는 JPA 명세의 구현체이다. javax.persistence.EntityManager와 같은 JPA의 인터페이스를 직접 구현한 라이브러리이다.
JPA
EntityManagerFactory, EntityManager, EntityTransaction
Hibernate
SessionFactory, Session, Transcation
Hibernate는 위의 JPA의 인터페이스를 상속받고 각각 Impl로 구현하고 있다.

- Spring Data JPA

JPA를 쓰기 편하게 만들어놓은 모듈
우리가 사용하는 Repository가 Spring Data JPA의 핵심이다.
Spring Data JPA는 JPA를 한단계 더 추상화시킨 Repository라는 인터페이스를 제공한다.

 

참고 : JPA, Hibernate, Spring Data JPA 구분하기 (차이점) (tistory.com)

 

JPA, Hibernate, Spring Data JPA 구분하기 (차이점)

JPA, Hibernate, Spring Data JPA JPA공부를 시작함에 있어서 가장헷갈렸던 부분이 JPA와 Hibernate와의 관계였다. 동영상강의에서는 처음에 EntityManager를 활용하여 Data를 삭제 저장 업데이트를 하지만, 실제..

cornswrold.tistory.com

JPA, Hibernate, 그리고 Spring Data JPA의 차이점 (suhwan.dev)