써먹는 웹개발

[Jpa] JPA와 Hibernate, Spring Data JPA의 차이 본문

웹개발/Jpa

[Jpa] JPA와 Hibernate, Spring Data JPA의 차이

kmhan 2021. 12. 23. 15:48


728x90
반응형

1. JPA : 자바 어플리케이션에서 관계형 데이터베이스(DB)를 사용하는 방식을 정의한 인터페이스
 - Java Persistence API의 약자
2. Hibernate : JPA 명세의 구현체(중 하나)
 - JPA는 Hibernate 외에도 다른 구현체를 사용 가능
 - JPA와 Hibernate는 Interface와 해당 interface를 구현한 class와 같은 관계
 ex) 데이터 crud(save, find, update, delete)
 - JPA를 사용하기 위해서 반드시 Hibernate를 사용할 필요가 없다.

 ※ 비유를 한다면 JPA는 키보드 자판이고, Hibernate는 한글 자판이다. 키보드를 사용하기 위해서 반드시 한글 자판을 사용할 필요는 없지만 제일 많이 쓰기에 한글 자판을 사용한다.

3. Spring Data JPA : JPA를 이용해 데이터에 접근하기 위한 라이브러리

 - Repository 인터페이스를 작성하여 간단하게 Entity를 참조/갱신할 수 있음

 - docs : https://arahansa.github.io/docs_spring/jpa.html
 ex) 인터페이스에 find 기능 선언하면 빌드시에 관련 클래스 생성

 

 

 

Hibernate의 역사는 2001년 Gavin King과 시러스 테크놀로지스 출신 동료들이 EJB2 스타일의 엔티티 빈즈 이용을 대체할 목적으로 출발하였다.

 

※ 자세한 내용 : https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/

728x90
반응형


Comments