써먹는 웹개발
[Jpa] JPA와 Hibernate, Spring Data JPA의 차이 본문
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/
'웹개발 > Jpa' 카테고리의 다른 글
[Jpa] 조회(만 할때) 속도 개선 (0) | 2021.12.23 |
---|---|
[Jpa] save시에 컬럼을 명시하지 않으면 null값이 들어가는 현상 방지하는 방법 (0) | 2021.12.21 |
[Jpa] createQuery 사용시, antlr.MismatchedTokenException: expecting EOF, found ')' 해결방법 (0) | 2021.12.20 |
[Jpa] Error : No default constructor for entity 해결방법 (0) | 2021.12.08 |
[JPA] Spring Data JPA (0) | 2021.12.07 |