JPA

JPA 소개, JPA 장점, ORM

차간단 2024. 2. 20. 16:03
반응형

JPA

- Java Persistence API

- 자바 진영의 ORM 기술 표준

 

ORM

- Object-relational mapping(객체 관계 매핑)

- 객체는 객체대로 설꼐

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

- ORM 프레임워크가 중간에서 매핑

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

 

JPA는 애플리케이션과 JDBC 사이에서 동작

 

 

JPA동작 - 저장

JPA 저장

- SELECT SQL 생성

- JDBC API 사용

- ResultSet 매핑

- 패러다임 불일치 해결

 

JPA 장점

- SQL 중심적인 개발에서 객체 중심으로 개발

- 생산성

 저장 : jpa.persist(member)

 조회 : Member member = jpa.find(memberId)

 수정 : member.setName("변경할 이름")

 삭제 : jpa.remove(member)

- 유지보수

- 패러다임의 불일치 해결

 JPA와 상속, JPA와 연관관계, JPA와 객체 그래프 탐색, JPA와 비교하기

- 성능

 1차 캐시와 동일성(identity)보장 

  - 같은 트랜잭션 안에서는 같은 엔티티를 반환

  - DB Isolation Level이 Read Commit이어도 애플리케이션에서 Repeatable Read 보장

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

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

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

 지연로딩 : 객체가 실제로 사용될때 로딩

 즉시로딩 : JOIN SQL로 한번에 연관된 객체까지 미리 조회

- 데이터 접근 추상화와 벤더 독립성

- 표준

 

반응형