[JPA] JPA란

kyungjoon·2022년 2월 19일
0
  • ORM이란
  • JPA란
  • JPA의 동작 과정
  • JPA의 특성

ORM이란?

ORM(Object-relational mapping)

  • java(Spring), python(Django)과 같은 객체 지향 언어의 웹 프레임워크에서 RDBMS를 사용할 수 있도록 하는 기술
  • 객체 지향 언어의 구조 유지 + SQL 직접 코딩 X
  • ORM은 객체와 RDBMS를 중간에서 매핑

JPA란?

JPA(Java Persistence API)

  • 현재 자바 진영 ORM 기술 표준. 인터페이스의 모음
    - JPA 구현체 : Hibernate, EclipseLink, DataNucleus
  • 일반적으로 우리는 Hibernate를 사용한다고 생각하면 된다

JPA 동작 과정

JPA는 어플리케이션과 JDBC 사이에서 동작한다

JDBC는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API

  • 개발자는 JPA 인터페이스에 맞춰 언어를 작성
  • JPA 내부에서 JDBC API에 맞게 SQL을 호출하여 DB에 접근

JPA 특성

  • 간단한 CRUD
  • 객체와 RDB간 패러다임 불일치 해결
  • 성능 최적화
    - 1차 캐싱
    - 지연 로딩

    같은 transaction 내에서 동일한 엔티티 조회 SQL 한번만 실행
    같은 transaction 내에서 INSERT SQL 모아서 실행
    값이 필요할 때 SQL 전송하는 지연 로딩 전략

Reference

[인프런] 자바 ORM 표준 JPA 프로그래밍 - 기본편

profile
하룻강아지

0개의 댓글