JPA
- Java Persistence Api
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
- 인터페이스이기 때문에 Hibernate나 EclipseLink 등으로 JPA를 구현!
하이버네이트 (Hibernate)
- JPA 인터페이스 명세를 구현한 구현체 중 하나
- 하이버네이트가 가장 널리 사용되고 있는 구현체
- EclipseLink나 OpenJPA 등 다른 구현체를 선택해서도 사용 가능
Spring Data JPA
- Spring에서 JPA를 편리하게 사용할 수 있게 지원하는 라이브러리
- CRUD 인터페이스 제공
- repository 개발 시 인터페이스만 작성하면 실행 시점에 객체를 동적으로 생성해서 주입
- 데이터 접근 계층 개발 시 인터페이스만 작성하면 됨!
- Hibernate에서 자주 사용되는 기능을 보다 쉽게 사용할 수 있게 구현
JPA 제공 기능
- Entity - Table 매핑 설계
- @Entity 어노테이션을 사용하여 데이터베이스와 매칭될 클래스임을 나타냄
- 매핑한 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 |