JPA(Java Persistence API), 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스 이다. 즉 자바 어플리케이션에서 관계형 데이터베이스를 어떻게 사용해야 하는지를 정의한 방법일 뿐이다.
Hibernate는 JPA의 구현체이다.
JPA Hibernate
EntityManagerFactory, ← - SessionFactory
EntityManager ← - Session
EntityTransaction ← - Transaction
(상속)
위와 같이 상속받고 있고 각각을 Impl로 구현하고 있다고 볼수 있다.
즉 JPA를 사용하기 위해서 반드시 Hibernate를 사용할 필요가 없다는 것이다.
Spring Data JPA는 JPA를 쓰기 편하게 만들어 놓은 모듈
Spring Data JPA는 Spring에서 제공하는 모듈중 하나로, 개발자가 JPA를 더 쉽고 편하게 사용할 수 있도록 도와준다. 이는 JPA를 한 단계 더 추상화시킨 Repository라는 인터페이스를 제공함으로써 이루어진다.
Spring Data JPA가 JPA를 추상화했다는 말은, Spring Data JPA의 Repository의 구현에서 JPA를 사용하고 있다는 것이다.
'SPRING > JPA' 카테고리의 다른 글
[JPA] 연관관계 (0) | 2022.02.09 |
---|---|
[JPA]객체지향쿼리 (0) | 2022.02.09 |
[JPA]스프링 데이터 Common:커스텀 리포지토리 (0) | 2022.01.21 |
[JPA]MappedSuperClass (0) | 2022.01.21 |
[JPA] 프록시 (0) | 2022.01.21 |