JPA(Java-Persistence-API), ORM

w1nd0·2024년 4월 25일

JPA

목록 보기
3/18

ORM이 무엇인가

Object-Relational Mapping: 객체 관계 매핑

  • Object 객체는 객체대로 설계
  • Relational 관계형 DB는 관계형 DB대로 설계
  • 이 두가지를 중간에서 매핑해주는게 ORM 프레임워크

JPA는?

  • 현재 자바 진영의 ORM 기술 표준으로 인터페이스의 모음이다.
  • JPA 인터페이스를 구현한 오픈소스중에 Hibernate가 대표적이다.

JPA의 동작

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

저장 과정

조회 과정

JPA 장점

  • SQL문이 아닌 Java코드를 통해 DB를 조작할 수 있어 객체중심적인 개발을 할 수 있다.
    (내부적으로는 쿼리를 생성하여 DB와 데이터를 주고 받음)

  • SQL문을 직접적으로 작성하지않아 필드시 모든 SQL문을 수정하지 않아도 된다. -> 생산성과 유지보수 UP

  • Table간 상속관계를 JPA가 알아서 처리해줌

  • 연관관계 저장,조회 가능 -> 더 찾아보자

  • 1차 캐시와 동일성을 보장한다.
    (같은 트랙잭션 안에서 같은 엔티티 반환 DB에 SQL문 전송 횟수가 줄어든다, 네트워크 비용 절감도 가능)

지연로딩, 즉시로딩

  • 지연로딩: 객체가 실제 사용될 때 로딩
  • 즉시로딩: JOIN SQL로 한번에 연관 객체까지 미리 로딩
profile
eozzeo_lago_

0개의 댓글