노트코드
노트코드
노트코드

블로그 메뉴

  • 홈
  • 이력서
  • 이전 블로그
  • 글쓰기
  • 관리자페이지
  • 분류 전체보기 (57)
    • 코틀린 (2)
      • 실무 프로젝트로 배우는 Kotlin & Sprin.. (2)
    • JAVA (1)
      • 디자인패턴 (1)
      • 객체지향 5대원칙 (0)
    • SPRING (32)
      • JPA (11)
      • 스프링시큐리티 (1)
      • 스프링 (8)
      • QueryDsl (1)
      • 스프링배치 (11)
    • AZURE (0)
    • ETC (10)
      • MAVEN (0)
      • GIT (0)
      • ReMind (3)
      • Exception (1)
      • CS (6)
    • 책 (8)
      • 이것이 자바다 (8)

최근 글

최근 댓글

태그

  • 스프링
  • JPA
전체 방문자
오늘
어제
hELLO · Designed By 정상우.
노트코드

노트코드

SPRING/JPA

[JPA]JPA,Hibernate, Spring Data JPA차이

2022. 2. 9. 13:43

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
    'SPRING/JPA' 카테고리의 다른 글
    • [JPA] 연관관계
    • [JPA]객체지향쿼리
    • [JPA]스프링 데이터 Common:커스텀 리포지토리
    • [JPA]MappedSuperClass
    노트코드
    노트코드
    노션 블로그에서 티스토리로 이전공사중

    티스토리툴바