애플리케이션 => 객체 지향 언어, 데이터베이스 => 관계형 DB
현 시대는 객체를 관계형 DB에 관리함
SQL 중심적인 개발의 문제점: 무한 반복, 지루한 코드
ex) 객체 CRUD
public class Member {
private String memberId;
private String name;
}
INSERT INTO MEMBER(MEMBER_ID, NAME) VALUES
SELECT MEMBER_ID, NAME FROM MEMBER M
UPDATE MEMBER SET …
여기서 Member 객체에 필드가 추가된다면..
public class Member {
private String memberId;
private String name;
private String tel; // 새로운 필드 추가됨
}
INSERT INTO MEMBER(MEMBER_ID, NAME, TEL) VALUES
SELECT MEMBER_ID, NAME, TEL FROM MEMBER M
UPDATE MEMBER SET … TEL = ?
새로운 필드로 인해 SQL문의 쿼리들도 그에 맞춰 전부 수정해야 함..
즉, SQL에 의존적인 개발을 피하기 어려움
객체를 자바 컬렉션에 저장하듯이 DB에 저장할 수는 없나?
=> JPA
📍 JPA는 애플리케이션과 JDBC 사이에서 동작함
📍 JPA는 표준 명세

📍 JPA를 왜 사용해야 하는가?