https://mysterlee.tistory.com/49

https://youtu.be/Xc0t4O-TuPY?si=YS1DBiqyVtEE_mAN


문제의 시작: 왜 JPA가 필요한가?

JPA가 등장하기 전, 자바 개발자들은 데이터베이스와 소통하기 위해 **JDBC(Java Database Connectivity)**를 사용해 SQL을 직접 작성했습니다. 처음에는 당연해 보였지만, 프로젝트가 커지면서 심각한 문제들이 드러났습니다.

근본적인 문제: 패러다임 불일치

자바와 관계형 데이터베이스는 세상을 바라보는 방식이 완전히 다릅니다.

자바 (객체 지향):

관계형 데이터베이스:

[객체 세상]              [테이블 세상]
Member                   member
├─ id                    ├─ id (PK)
├─ name                  ├─ name
├─ email                 └─ email
└─ orders ─┐
           │             order
           └─> Order     ├─ id (PK)
               ├─ id     ├─ member_id (FK) ← 외래 키로만 연결
               └─ member └─ order_date

이 차이 때문에 개발자는 끊임없이 둘 사이를 "통역"해야 했습니다.

세 가지 핵심 문제

1. 반복적인 CRUD 코드

회원, 상품, 주문... 모든 도메인마다 비슷한 SQL을 반복해서 작성해야 했습니다.