지금 시대는 객체를 관계형 DB에 저장한다.
SQL에 의존적인 개발을 피하기 어렵다.
객체를 자바 컬렉션에 저장 하듯이 DB에 저장할 수 없을까?
객체와 관계형 데이터베이스패러다임은 불일치한다.
🐥 관계형DB에는 상속 개념이 없다.
EJB (자바 표준) -> 하이버네이트 (오픈 소스) -> JPA(자바 표준)
JPA는 표준명세. 즉, 인터페이스의 모음이다.
실제 구현은 hibernate가 한다.
데이터베이스 데이터 <—매핑—> Object 필드
객체를 통해 간접적으로 데이터베이스 데이터를 다룬다.
객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것을 말한다.
(🐥 Mybatis 차이점: JPA는 쿼리도 다 짜준다. 반면, Mybatis는 쿼리는 개발자가 직접 작성해야한다.)
왜 JPA를 사용해야 할까?
ORM은 객체와 RDB 두 기둥 위에 있는 기술이다.
Persistence Framework는 SQL Mapper와 ORM으로 나눌 수 있다.