JPA[기본] 소개

신재원·2023년 1월 11일
0

JPA 기본

목록 보기
1/31

JPA란 ?

  • Java Persistence API
  • 자바 진영의 "ORM" 표준 기술이다.
  • JPA가 실무에서 어려운 이유
    • 예제들은 보통 테이블이 한 두 개로 단순함
    • 실무는 수십 개 이상의 복잡한 객체와 테이블 사용

ORM이란 ?

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

목표 - 객체와 테이블 설계 매핑

  • 객체와 테이블을 제대로 설계하고 매핑하는 방법
  • 기본 키와 외래 키 매핑 하는 법
  • 1:N, N:1, 1:1, N:M 매핑 하는법
  • 실무 노하우 + 성능까지 고려

SQL 중심적인 개발의 문제점

  • 객체 CRUD (등록, 수정, 삭제, 등) 필드를 추가할 경우가 있으면 쿼리문을 다 고쳐야한다.
  • 객체 -> SQL변환 -> SQL -> RDB 이 순서를 거쳐야한다.
  • 객체와 관계형 데이터베이스의 차이
      1. 상속
      1. 연관관계
      1. 데이터 타입
      1. 데이터 식별 방법
  • 객체 답게 모델링 할수록 매핑 작업만 늘어난다.

JPA 동작 방식

  • JPA는 애플리케이션과 JDBC 사이에서 동작
    1. Entity 분석
    2. INSERT SQL 생성
    3. JDBC API 사용
    4. 패러다임 불일치 해결
  • 동일한 트랜잭션에서 조회한 (==비교) 엔티티는 같음을 보장한다

0개의 댓글