📌 DB를 직접 다룰 때의 문제점
패러다임의 불일치
객체 모델과 관계형 데이터베이스 모델은 지향하는 패러다임이 서로 다르다.
객체지향 모델링을 할수록 패러디임의 불일치가 더 커진다. 그리고 이 틈을 메우기 위해 개발자가 소모해야 하는 비용도 점점 더 많아진다. 결국 객체지향 모델링은 힘을 잃고 점점 데이터 중심의 모델로 변해간다.
JPA는 패러다임의 불일치 문제를 해결해주고 정교한 객체 모델링을 유지하게 도와준다.
📌ORM 이란?
- ORM : Object-Relational Mapping
Object : "객체"지향 언어 (자바, 파이썬)
Relational : "관계형" 데이터베이스 (H2, MySQL)
- 말 그대로 객체와 DB의 관계를 매핑 해주는 도구.
- 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해서 ORM(객체 관계 매핑)기술들이 등장 함.

📌 JPA 란?
- JPA: Java Persistence API
자바 ORM 기술에 대한 표준 명세
- JPA는 JAVA ORM 기술의 대표적인 표준 명세.
- DB 연결 과정을 직접 개발하지 않아도 자동으로 처리해줌.
- 객체를 통해 간접적으로 DB 데이터를 다룰 수 있기 때문에 매우 쉽게 DB 작업을 처리할 수 있음.

📌 하버네이트 (Hibernate) 란?
- JPA는 표준 명세이고, 이를 실제 구현한 프레임 워크 중 사실상 표준이 하버네이트
- 스프링 부트에서는 기본적으로 하버네이트 구현체 사용
📌 왜 JPA를 사용해야 하는가?
- 생산성
- 유지보수
- 패러다임의 불일치 해결
- 성능
- 데이터 접근 추상화와 벤더 독립성
- 표준
'Back-end > Spring' 카테고리의 다른 글
| Bean 수동 등록, 같은 타입 Bean 처리 (0) | 2024.01.29 |
|---|---|
| 그레이들(Gradle), 서버 (1) | 2024.01.23 |