[인프런 김영한] JPA - JPA? ORM?

2021. 2. 28. 16:15프로그래밍 언어/Spring Framework

 

[인프런 김영한] JPA - JPA? ORM?


해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다.

김영한 인프런 : www.inflearn.com/users/@yh

 

인프런 - 김영한의 강의들을 만나보세요.

우아한형제들 개발 팀장 (전: 카카오, SK플래닛) 저서: 자바 ORM 표준 JPA 프로그래밍

www.inflearn.com


▣ ORM

* Object-Relational Mapping(객체 관계 매핑) = ORM

 - 객체는 객체대로 설계

 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계

 - ROM 프레임 워크가 중간에서 Mapping

 - 대중적인 언어에는 대부분 ORM 기술이 존재

 

 

▣ JPA

* Java Persistence API = JPA

 - JAVA 진영의 ORM 기술 표준

 

* JPA는 표준 명세

 - JPA는 인터페이스의 모음

 - JPA 2.1 표준 명세를 구현한 3가지 구현체(Hibernate, EcliseLink, DataNucleus)

 - Hibernate + EcliseLink + DataNucleus = JPA 표준 인터페이스

 

 

| 쿼리를 JPA가 생성하며, 패러다임 불일치를 해결해주는 역활.

 

 

 

 

▣ JPA의 성능 최적화 기능

1. 1차 캐시와 동일성 보장

2. 트랜잭션을 지원하는 쓰기 지연

 - 트랜잭션을 커밋할 때까지 SQL을 모음

 - JDBC BATCH SQL 기능을 사용해서 한번에 SQL 전송

3. 지연로딩