JPA란 자바 진영에서 ORM 기술표준으로 사용되는 인터페이스의 모음
JPA = "Java Persistence API"의 약자
애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현
간단한 메서드로 CRUD 가능
SQL 중심적이었던 개발이 객체 중심 개발로 변경이 가능해짐
SQL 코드의 반복 문제와 객체 지향&관계 지향 데이터베이스의 패러다임 불일치 해결
(SQL 매퍼라고 할 만큼 많던 SQL 작업이 줄어들어 개발자들이 개발에 집중 가능해졌다.)
모아서 쓰는 버퍼링이 가능
읽을 때 쓰는 캐싱이 가능
데이터베이스 기술에 종속되지 않는다.
데이터베이스 변경 시 JPA에게 다른 데이터베이스를 사용한다고 알려주기만 하면 된다.