JPA 시작하기

호떡·2023년 1월 7일
0

Java Persistence API

자바 지연의 ORM 기술 표준

ORM이란?

Object-Relational mapping(객체 관계 매핑)?
객체와 관계형 데이터베이스를 매핑해주는 것

  • 객체는 객체대로 설계
  • 관계형 데이터베이스는 관계형 데이터베이스대로 설계
  • ORM 프레임워크가 중간에서 매핑

JPA의 동작

  • JPA는 애플리케이션과 JDBC 사이에서 동작
  • Member 객체를 저장한다면, 아래의 과정을 거쳐 DB로 INSERT한다.
    MemberDao > JPA [Entity 분석, INSERT SQL 생성, JDBC API 사용, 패러다임 불일지 해결] > JDBC API > DB
  • id로 Member 객체를 조회한다면, 아래의 과정을 거쳐 DB에서 SELECT한다.
    MemberDao에 id 전달 > JPA [SELECT SQL 생성, JDBC API 사용, ResultSet 매핑, 패러다임 불일지 해결] > JDBC API > DB > 결과 반환

JPA는 표준 명세

  • JPA는 인터페이스의 모음
  • JPA2.1 표준 명세를 구현한 3가지 구현체: Hibernate, EclipseLink, DataNucleus
  • JPA 표준 인터페이스의 Hibernate 구현체를 주로 사용한다.

JPA 사용 이유

  • SQL 중심적인 개발에서 객체 중심으로 개발
    자바 컬렉션에 저장, 조회 하듯이 객체를 DB에 저장 및 관리할 수 있다.
  • 생산성, 유지보수
  • 패러다임의 불일치 해결
  • 성능 최적화
    트랜잭션을 커밋할 때까지 INSERT SQL을 모아뒀다가 한번에 전송한다.
    같은 트랜잭션 안에서는 같은 엔티티를 반환한다. (캐시...?)

0개의 댓글