1. JPA ?

신명철·2022년 2월 11일
0

JPA

목록 보기
1/14

JPA

  • Java Persistence API
  • 자바 진영의 ORM 기술 표준
  • Object-relational mapping(객체 관계 매핑)
  • 객체는 객체대로 설계 RDB 는 RDB 대로 설계하고 ORM 프레임워크가 중간에서 매핑한다.

구동 방식

  • 어플리케이션은 하나의 엔티티 매니저 팩토리를 전체에서 공유한다.
  • 엔티티 매니저는 쓰레드간에 공유하지 않느낟.
  • JPA 의 모든 데이터 변경은 트랜잭션 안에서 실행된다.

성능 최적화 기능

  1. 1차 캐시와 동일성 보장
    -> 같은 트랜잭션 안에서는 같은 엔티티를 반환한다 ( 1차 캐시에서 가져옴 )
  2. 트랜잭션을 지원하는 쓰기 지연
    -> 트랜잭션을 commit 할때까지 INSERT SQL 을 모아놨다가 JDBC BATCH SQL 기능을 이용해서 한번에 SQL 을 DB 에 전송한다.
  3. 지연 로딩
    -> 지연 로딩 : 프록시 객체를 이용해 실제 사용될 때 까지 로딩을 미룬다
    -> 즉시 로딩 : JOIN SQL 로 한번에 연관된 객체까지 미리 댕겨온다.

기능

  1. 데이터베이스 방언
    : JPA는 특정 DB에 종속되지 않는다.
    : hibernate.dialect 속성에 DB 방언을 지정해주면 된다.

출처

profile
내 머릿속 지우개

0개의 댓글