자바 ORM 표준 JPA 프로그래밍 - 기본편 #1 JPA 소개-두번째

Lee Han Sol·2021년 9월 25일
0
post-thumbnail

자바 ORM 표준 JPA 프로그래밍 - 기본편

이 글은 김영한님의 Inflearn 강의를 학습한 내용을 정리하였습니다.
글에 포함된 그림의 출처는 자바 ORM 표준 JPA 프로그래밍 - 기본편 강의 영상과 자바 ORM 표준 JPA 프로그래밍입니다.

목표

JPA와 ORM의 개념, JPA 동작 방식 그리고 JPA 사용 이유를 알아본다.

JPA란

  • Java Persistence API
  • 자바 진영의 ORM 기술 표준 명세

ORM이란
Object-Relational Mapping(객체 관계 매핑)의 약자로
객체는 객체대로 설계를 하고
관계형 데이터베이스는 관계형 데이터베이스대로 설계를 하면
중간에서 매핑해주는 프레임워크이다.

참고로 대중적인 언어는 대부분 ORM 기술이 존재한다.

동작 방식

JPA는 JAVA 애플리케이션과 JDBC 사이에서 동작한다.
그림으로 표현하면 아래와 같다.

동작 과정은 다음과 같다.

  1. Java 애플리케이션이 JPA API를 호출하면
  2. JPA는 JDBC API를 호출한다.
  3. JDBC는 SQL을 생성·실행하고
  4. DB에서 결과를 받는다.

동작 방식 - 저장

동작 방식 - 조회

위 저장과 조회에서 JPA의 역할이 적혀있다. 역할 중에서 가장 중요한 역할은 패러다임 불일치 해결이다.

구현체 종류

JPA는 자바 ORM 기술에 대한 API 표준 명세이다. (쉽게 말해 인터페이스 모음이다.)

따라서, JPA를 사용하려면 구현체가 필요하고 다양한 구현체가 있다.

이 중 하이버네이트를 가장 많이 사용한다.

JPA 사용 이유

JPA를 사용하는 이유는 아래와 같이 정리할 수 있다.

  • 생산성
  • 유지보수
  • 패러다임 불일치 해결
  • 성능
  • 데이터 접근 추상화와 벤더 독립성
  • 표준

위 항목을 하나씩 알아보자.

생산성 & 유지보수

객체에 맞는 SQL(DDL, CRUD)을 생성해준다.

패러다임 불일치 해결

상속, 연관관계, 객체 그래프 탐색, 비교 등 패러다임의 불일치를 해결해준다.

성능

애플리케이션과 데이터베이스 사이에 계층을 두어 버퍼링캐시 기능을 지원한다.

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

애플리케이션이 특정 데이터베이스 기술에 종속되지 않도록 한다.

표준

특정 구현체에 종속되지 않도록 한다.

profile
주 7일, 배움엔 끝이 없다

0개의 댓글