본문 바로가기
Back-end

JPA 소개

by 신재권 2022. 8. 31.

JPA란?

JPA(Java Persistence API)는 자바 진영의 ORM 기술 표준이다.

애플리케이션과 JDBC 사이에서 동작한다.

ORM이란?

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

ORM 동작 방식

ORM 프레임워크를 사용하면 객체를 데이터베이스에 저장할 때 INSERT SQL을 직접 작성하는 것이 아니라 객체를 마치 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 된다. 그러면 ORM 프레임워크가 적절한 INSERT SQL을 생성해서 데이터베이스에 객체를 저장해준다.

ORM의 장점

  • SQL을 개발자 대신 생성해서 데이터베이스에 전달
  • 다양한 패러다임의 불일치 문제들도 해결
  • 객체 측면에서는 정교한 객체 모델링 가능
  • 관계형 데이터베이스는 데이터베이스에 맞도록 모델링
  • 개발자는 데이터 중심인 관계형 데이터베이스를 사용해도 객체지향 애플리케이션 개발에 집중
  • Java의 주요 ORM 프레임워크는 하이버네이트 프레임워크

JPA

  • 자바 ORM 기술에 대한 API 표준 명세
  • 인터페이스를 모아둔 것
  • JPA를 사용하려면 ORM 프레임워크 선택 - 하이버네이트를 주로 선택
  • 특정 구현 기술에 대한 의존도를 줄임

JPA의 장점

  • 생산성 : 반복적인 일을 JPA가 대신 처리
    • DDL 문 자동 생성 : 객체 설계 중심
  • 유지보수 : 엔티티의 변경이 일어나면 그와 관련된 SQL과 결과를 매핑하기 위한 JDBC API 코드를 JPA가 대신 처리
    • 유연하고 유지보수 하기 좋은 도메인 모델 설계
  • 패러다임의 불일치 해결
  • 성능 : 애플리케이션과 데이터베이스 사이에서 다양한 성능 최적화 기회를 제공
  • 데이터 접근 추상화와 벤더 독립성 : 특정 데이터베이스 기술에 종속되지 않는다.
  • 표준 : 자바 진영의 ORM 기술 표준
출 처 : 자바 ORM 표준 JPA 프로그래밍 - 김영한

 

'Back-end' 카테고리의 다른 글

영속성 관리  (0) 2022.09.02
JPA 시작  (0) 2022.09.01
[Heroku] 배포 h10 "app clush" 에러  (0) 2022.08.30
HTTP  (0) 2022.08.24
객체지향  (0) 2022.08.24