개발자는 ORM에게 어떻게 mapping시킬지를 알려주기만 하면된다.내부 ORM 프레임 워크 가여러개 있는데 주로 Hibernate가 주로 사용된다.(그외에 EclipseLink, DataNucleus가 있다.)JPA는 ORM 기술에 대한 API표준 명세다.JPA 사용 이유
- 생산성
- 유지보수
- 패러다임 불일치 해결
- 상속
- 연관관계
- 객체 그래프 탐색 -> 내부 참조 관계
- 같은 row에 대해 객체 비교
- 성능 -> 성능 최적화 기능 제공 -> 같은 조회 쿼리를 두번 실행하지 않고 한번 실행 후 캐싱 되어있는 것을 가져온다.
- 데이터 접근 추상화와 벤더 독립성 -> 애플리케이션과 DB 사이에서 추상화 (ex) 페이징 처리 부분도 DB 마다 달라지는데 JPA로 고정해서 DB가 바껴도 자동으로 해준다.