JPA 소개

GreatCloud·2026년 1월 13일

백엔드

목록 보기
8/14

JPA 소개

JPA(Java Persistent API)는 자바 ORM 기술에 대한 API 표준 명세이며 인터페이스를 모아둔 것이며
JPA를 사용하려면 JPA를 구현한 ORM 프레임워크를 선택해야한다. JPA 2.1을 구현한 ORM 프레임 워크는 하이버네이트 EclipseLing, DataNucleus가 있으며 이 중 하이버네이트가 가장 대중적이다.

JPA를 사용하는 이유

1. 생산성

JPA를 사용하면 자바 컬렉션에 객체를 저장하듯이 JPA에게 저장할 객체를 전달하면 된다.
기능별로 SQL을 작성하고 JDBC API를 사용하는 반복적인 일은 JPA가 대신 처리해준다.

2. 유지보수

SQL에 의존적인 개발을 할 경우 엔티티에 필드 하나만 추가해도 관련된 SQL과 결과를 매핑하기 위한 JDBC API 코드를 전부 변경해야한다. 반면 JPA를 사용하면 이런 과정을 JPA가 대신 처리해주므로 수정할 코드가 줄어들며 유지보수해야 하는 코드 수가 줄어든다.

3. 패러다임 불일치 해결

애플리케이션은 발전하면서 그 내부의 복잡성이 점점 커진다.
객체지향 프로그래밍의 원칙들은 복잡성을 제어할 수 있는 장치들을 제공한다.
그러나 관계형 데이터베이스는 데이터 중심으로 구조화되어 있으며 객체와 관계형 데이터베이스는 지향하는 목적이 서로 다르므로 둘의 기능과 표현 방법도 다르다 이것을 객체와 관계형 데이터베이스의 패러다임 불일치 문제라고 한다.

JPA는 이 사이에서 상속, 연관관계, 객체 그래프 탐색, 비교하기와 같은 패러다임의 불일치 문제를 해결해준다.

4. 성능

JPA는 애플리케이션과 데이터베이스 사이에서 동작하며
1차 캐싱, Dirty check, 변경감지를 통해 DB와 통신 횟수를 줄여 최적화를 시도해 볼 수 있다.

5. 데이터 접근 추상화와 벤더 독립성

JPA는 애플리케이션과 데이터베이스 사이에 추상화된 데이터 접근 계층을 제공해서 애플리케이션이 특정 데이터베이스 기술에 종속되지 않도록한다.

profile
모르는 것에 부끄러워 말고 아는 것에 자만하지 말 것

0개의 댓글