본문 바로가기

스터디/JPA

JPA란 무엇인가?

728x90
반응형

JPA 소개


 

JPA (Java Persistence API)는 자바 ORM 기술에 대한 API 표준 명세이다

 

ORM (Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑한다는 뜻으로 객체와 테이블을 매핑해 패러다임의 불일치 문제를 개발자 대신 해결해준다

- 객체를 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 대신 SQL을 생성해 데이터베이스에 저장해준다

- 객체와 관계형 데이터베이스를 모델링한 후 둘을 어떻게 매핑해야 하는지만 ORM 프레임워크에 알려주면된다

 

JPA는 인터페이스를 모아둔 것으로 사용하기 위해서 ORM 프레임워크를 선택해야 한다 (하이버네이트, EclipseLink, DataNucleus)

다양한 ORM 프레임워크들이 있는데 자바에서는 하이버네이트 프레임워크가 가장 많이 사용된다

 

JPA를 사용하는 이유

  1. 생산성
    • 지루하고 반복적인 코드와 CRUD용 SQL을 개발자가 직접 작성하지 않아도 된다
    • DDL 문(create table 등)을 자동으로 생성해주는 기능도 제공한다
  2. 유지보수
    • 요구사항이 변경되더라도 수정해야 할 코드가 줄어든다
    • 객체지향 언어가 가진 장점들을 활용해 유연하고 유지보수하기 좋은 도메인 모델을 편리하게 설계할 수 있다
  3. 패러다임의 불일치 해결
    • 상속, 연관관계, 객체 그래프 탐색, 비교와 같은 패러다임의 불일치 문제를 해결해준다
  4. 성능
    • 애플리케이션과 데이터베이스 사이에서 다양한 성능 최적화 기능을 제공한다
  5. 데이터 접근 추상화와 벤더 독립성
    • 데이터베이스와 애플리케이션 사이에 추상화된 데이터 접근 계층을 제공해 특정 데이터베이스 기술에 종속되지 않도록 한다
  6. 표준
    • JPA는 자바 ORM 기술 표준으로 표준을 사용하면 다른 구현 기술로 손쉽게 변경할 수 있다
728x90
반응형

'스터디 > JPA' 카테고리의 다른 글

엔티티 매핑 - (2)  (0) 2025.02.08
엔티티 매핑 - (1)  (0) 2025.02.08
영속성 관리 - (2)  (0) 2025.02.07
영속성 관리 - (1)  (0) 2025.02.07
JPA의 등장 배경  (0) 2025.02.06