🌱 JPA (Java Persistence API)의 등장과 해결 방안
1️⃣ JPA의 특징
- Java의 ORM(Object-Relational Mapping) 표준 인터페이스로, 대표적 구현체는 Hibernate
- 객체 중심 설계를 유지하면서도 데이터베이스 작업을 자동으로 처리합니다.
2️⃣ JPA를 사용하는 이유
생산성
- 마치 Java의 Collection처럼 객체를 저장, 수정, 삭제, 조회할 수 있음
유지보수성
- 객체 필드가 변경되어도 관련 SQL을 자동으로 처리
패러다임 불일치 문제 해결
- 상속, 연관관계, 객체 그래프 탐색 등 객체 지향적 특징을 JPA가 자동으로 처리
성능 향상
- 1차 캐시 (같은 데이터를 반복 조회 시 캐시에서 제공하여 DB 접근 감소)
- 쓰기 지연 (트랜잭션에서 변경 사항을 한 번에 배치 처리하여 네트워크 비용 감소)
- 지연 로딩 및 즉시 로딩 (필요에 따라 데이터를 로딩하여 성능 최적화)
🍃 JPA의 핵심 개념
JPA(Java Persistence API)는 Java 객체와 관계형 데이터베이스(RDB) 간의 불일치 문제를 해결해주는 ORM(Object Relational Mapping) 표준입니다. 대표적인 구현체는 Hibernate가 있다.
3️⃣ 객체와 관계형 데이터베이스의 패러다임 불일치 문제
- 객체지향은 데이터와 행위를 캡슐화하고 참조로 연관관계를 표현하지만, RDB는 정규화된 테이블과 외래 키를 사용하여 JOIN 연산으로 관계를 표현
- 이 차이로 인해 객체를 DB에 저장할 때 CRUD 코드가 반복적으로 생성되는 문제, 객체 수정 시 많은 SQL 수정 필요 등의 문제 발생
4️⃣ JPA의 등장 이유
- JPA는 객체 지향 설계를 유지하면서 생산성, 유지보수성, 성능을 동시에 높이는 역할
- JDBC를 직접 다루지 않고도 간편하게 객체를 관리
'SPRING' 카테고리의 다른 글
| [Spring Boot + JPA] 트러블 슈팅 (2) | 2025.03.28 |
|---|---|
| Spring JPA 영속성 컨텍스트 (0) | 2025.03.26 |
| Bean Validation (1) | 2025.03.25 |
| Spring Validation (0) | 2025.03.25 |
| Spring Bean 등록과 의존성 주입 (0) | 2025.03.25 |