본문 바로가기
JAVA/SpringBoot

[김영한] 자바 ORM 표준 JPA 프로그래밍 - 섹션 0~2(핵심내용 정리)

by 설총이 2023. 10. 11.
[2023-10-10] JPA에 대해 자세하게 공부하고싶어
[김영한] 자바 ORM 표준 JPA 프로그래밍 - 기본편 인프런 강좌 수강시작
섹션 0~2 핵심내용 정리

JPA?
- Java Persistence API
- 자바 진영의 ORM 기술 표준

ORM? - Object-relational mapping(객체 관계 매핑)
- 객체는 객체대로 설계
- 관계형 데이터베이스는 관계형 데이터베이스대로 설계
- ORM 프레임워크가 중간에서 매핑
- 대중적인 언어에는 대부분 ORM 기술이 존재

 

JPA 소개
1. EJB - 엔티티 빈(자바 표준)
2. JPA(자바 표준) -> 하이버네이트 (오픈 소스)

 

JPA를 왜 사용해야 하는가?
- SQL 중심적인 개발에서 객체 중심으로 개발
- 생산성

 

(기억할것) 수정: data set 후 트랜잭션의 commit 시점에 SQL이 수행된다. ( set -> persist 수행이 아님 X )

 

- 유지보수



- 패러다임의 불일치 해결
- 성능
- 데이터 접근 추상화와 벤더 독립성
- 표

 

JPA의 성능 최적화 기능
1. 1차 캐시와 동일성(identity) 보장


2. 트랜잭션을 지원하는 쓰기 지연(transactional write-behind)

(기억할것) persist, find, remove 등 수행시점에 SQL실행이 아닌 트랜잭션의 commit 시점에 SQL이 수행된다.
===> 나중에 나오게 될 영속성 관리(영속성 컨텍스트)의 쓰기 지연 SQL 저장소와 연관이 있음을 기억할 것.

(예외 - 심화과정) 기본키 생성의 @GeneratedValue IDENTITY 전략을 사용중에는 JPA 수행시점에 SQL 수행

 

3. 지연 로딩(Lazy Loading)