JPA는 자바진영 ORM(Object Relational Mapping)기술의 표준 API 명세.
JPA는 반복적인 CRCD SQL을 알아서 처리해주고 객체 모델링과 관계형 데이터베이스 사이의 차이점을 해결해준다.
조회된 결과를 객체로 매핑하는 작업도 자동으로 처리해 준다.
JPA를 사용함으로써 객체와 관계형 데이터베이스 간의 패러다임 불일치를 해결하고 애플리케이션을 SQL이 아닌 객체 중심으로 개발할 수 있어 생산성과 유지보수가 좋아지고 테스트를 작성하기도 수월해진다.
JPA는 애플리케이션과 JDBC의 사이에서 동작한다.
JPA는 ORM 기술에 대한 인터페이스를 모아 둔 것으로 JPA를 사용하려면 JPA를 구현한 ORM 프레임워크가 필요하다.
ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 해결하고 JDBC API를 사용하여 DB와 통신한다.
하이버네이트는 JPA를 구현한 대표적인 ORM 프레임워크
참고자료: 자바 ORM 표준 JPA 프로그래밍 - 김영한 저