본문 바로가기

spring

JPA / Hibernate / Spring Data JPA

JPA
  • Java Persistence Api
  • 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
  • 인터페이스이기 때문에 Hibernate나 EclipseLink 등으로 JPA를 구현!

 

하이버네이트 (Hibernate)
  • JPA 인터페이스 명세를 구현한 구현체 중 하나
  • 하이버네이트가 가장 널리 사용되고 있는 구현체
    • EclipseLink나 OpenJPA 등 다른 구현체를 선택해서도 사용 가능

 

Spring Data JPA
  • Spring에서 JPA를 편리하게 사용할 수 있게 지원하는 라이브러리
    • CRUD 인터페이스 제공
    • repository 개발 시 인터페이스만 작성하면 실행 시점에 객체를 동적으로 생성해서 주입
    • 데이터 접근 계층 개발 시 인터페이스만 작성하면 됨!
  • Hibernate에서 자주 사용되는 기능을 보다 쉽게 사용할 수 있게 구현

 

JPA 제공 기능
  1. Entity - Table 매핑 설계
    • @Entity 어노테이션을 사용하여 데이터베이스와 매칭될 클래스임을 나타냄
  2. 매핑한 Entity를 실제 사용하는 부분 → 엔티티 매니저 (Entity Manager) 사용
    • 영속성 (Persistence) 관리 ≫ 데이터베이스와 같은 영구적인 저장소에 데이터를 저장하고 관리하는 것
    • 영속성 컨텍스트와 엔티티 매니저는 JPA에서 데이터를 관리하는 중요한 구성 요소!
    • JPA는 데이터의 영속성을 관리

 

 

 

 

'spring' 카테고리의 다른 글

Spring Data JPA 이용하기  (0) 2024.09.13
영속성 컨텍스트  (0) 2024.09.13
ORM  (0) 2024.09.13
JdbcTemplate  (0) 2024.09.13
JDBC  (0) 2024.09.13