JPA란?
Java Persistence API
자바 객체 ↔ 관계형 데이터베이스를 자동으로 매핑해주는 ORM(Object-Relational Mapping) 기술의 표준 인터페이스
➡︎ SQL을 직접 작성하지 않고, 객체 지향적으로 다룸
🌿ORM?
객체-관계 매핑
- 객체는 객체답게, 데이터베이스는 관계형 구조로 설계
- 매핑은 ORM 프레임워크가 중간에서 처리
🌿배경
객체를 관계형 DB에 저장하려면 → 매번 SQL 작성 필요 [객체 ----- SQL 변환 -----> RDB]
"자바 컬렉션처럼 객체를 데이터베이스에 저장할 수 없을까?"
→ JPA 등장
🌿장점
- SQL 코드 감소
- 객체 지향적 코드로 생산성 향상
- 유지보수 용이
- 패러다임의 불일치 해결
- 성능
- 데이터 접근 추상화와 벤더 독립성
동작

JPA = 객체 중심 개발 + SQL 자동 처리 + JDBC 숨김 + ORM 기능 제공
개발자는 객체(엔티티)만 다룸 → 나머지는 JPA가 자동 처리
1. 엔티티 분석
2. SQL 생성
3. JDBC API 사용
4. 패러다임 불일치 해결 (객체 vs 테이블 차이 JPA가 중간에서 해결 ex.상속, 컬렉션, 연관관계 등)
5. DB 접근(CRUD)
-생산성(JPA와 CRUD)
- 저장: jpa.persist(member)
- 조회: Member member = jpa.find(memberId)
- 수정: member.setName(“변경할 이름”)
- 삭제: jpa.remove(member)
'JPA' 카테고리의 다른 글
| [JPA] 다양한 연관관계 매핑 (0) | 2025.04.03 |
|---|---|
| [JPA] 연관관계 매핑 (0) | 2025.03.31 |
| [JPA] 엔티티 매핑 (0) | 2025.03.29 |
| [JPA] 영속성 관리 - 내부 동작 방식 (0) | 2025.03.26 |
| [JPA] Hello JPA (0) | 2025.03.24 |