이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다.
JPA란?
- Java Persistence API의 약자로 자바 진영의 ORM 기술 표준을 의미한다.
- EJB → 하이버네이트(오픈 소스) → JPA 순으로 발전 함(자바 표준).
ORM
- Object-relational mapping(객체 관계 매핑)
- 객체는 객체대로, 관계형 데이터베이스는 관계형 데이터베이스로 각각 설계하여 ORM 프레임워크가 중간에서 서로 매핑해준다.
JPA 동작방식
- 애플리케이션과 JDBC 사이에서 동작한다.
1.저장
2.조회
'JPA와 객체의 패러다임의 불일치 해결'이란?
- 개발자가 할 일을 획기적으로 줄여줌.
- 신뢰도를 높여줌
JPA와 CRUD
- 저장 :
jpa.persist(member)
- 조회 :
Member member = jpa.find(memberid)
- 수정 :
member.setName("변경할 이름")
- 삭제 :
jpa.remove(member)
JPA와 성능 최적화
1) 1차 캐시와 동일성(identity) 보장
- 같은 트랜젝션 안에서 같은 엔티티를 반환하기 때문에 조회 성능이 약간 항상 되고, 동일성을 보장한다.
2) 트랜잭션을 지원하는 쓰기영역(transactional write-behind)
- 트랜잭션을 커밋할 때까지 INSERT SQL을 모았다가 한번에 전송(
transaction.begin(), transation.commit()
)
3) 지연 로딩(lazy loading)
- 지연 로딩 : 객체가 실제 사용될 때 로딩
- 즉시 로딩 : JOIN SQL로 한번에 연관된 객체까지 미리 조회
'ORM > JPA' 카테고리의 다른 글
자바 ORM 표준 JPA 프로그래밍 - 고급 매핑 (0) | 2021.08.16 |
---|---|
자바 ORM 표준 JPA 프로그래밍 - 다양한 연관관계 매핑 (0) | 2021.08.15 |
자바 ORM 표준 JPA 프로그래밍 - 연관관계 매핑 기초 (0) | 2021.08.12 |
자바 ORM 표준 JPA 프로그래밍 - 엔티티 매핑 (0) | 2021.08.10 |
자바 ORM 표준 JPA 프로그래밍 - 영속성 관리 (0) | 2021.08.09 |