Dev/SpringBoot

33. [JPA] 01. JPA 소개

VIPeveloper 2021. 11. 7. 13:04
728x90
반응형

김영한님의  JPA 강의를 듣고 정리해보는 시간을 가졌습니다.

 

내용

객체를 자바 컬렉션에 저장하듯이 DB에 저장할 수는 없을까? 고민하다가 나온 것이 JPA라고 합니다.

JPA(Java Persistence API)

  • ORM 기술의 표준이라고 합니다.
  • 인터페이스의 모음입니다. (하이버네이트, EclipseLink, DataNucleus 등)

ORM(Object Relational Mapping)

  • 객체 관계 매핑입니다.
  • 객체 - ORM - DB 사이에서 매핑해주는 기술입니다.
  • 패러다임 불일치를 해결해준다고 합니다.

기본 그림은 다음과 같습니다.

왜 JPA를 써야하는가?

  • 객체 중심의 개발
  • 생산성
    • CRUD가 쉽다.
  • 유지보수
    • JPA에서는 필드만 추가하면 SQL은 JPA가 알아서 생성 후 처리한다.
  • 패러다임 불일치 문제 해결
  • 성능최적화
    • 1차 캐시와 동일성 보장
    • 쓰기 지연 기능
    • 지연로딩 기능
  • 데이터 접근 추상화와 벤더 독립성
  • 표준

 

아직 JPA를 왜 써야하는지 실감이 나진 않는다. 하지만 SQL을 작성하던 것보단 좋아보인다.

 

728x90
반응형