Reference. 자바 ORM 표준 JPA 프로그래밍
책 목차 및 이전 글
- JPA(Java Persistence API) : 자바 진영의 ORM 표준 기술
- ORM(Object-Relational Mapping) : 객체와 관계형 데이터베이스를 매핑하는 기술
→ 객체와 테이블 패러다임 불일치 문제를 개발자 대신 해결
<저장>
<조회>
1.3.1 JPA 소개
- 엔터프라이즈 자바 빈즈(EJB) 안에 엔티티 빈이라는 ORM 기술이 포함
→ 복잡하고 기술 성숙도도 떨어지며 자바 엔터프라이즈(J2EE) 서버에서만 동작
- 하이버네이트 오픈소스 ORM 프레임워크가 등장
→ EJB보다 가볍고 실용적이며 기술 성숙도도 높음, J2EE없이도 동작
→ EJB 3.0에서 하이버네이트 기반 새로운 자바 ORM 기술 표준을 만들었고 그것이 JPA
- JPA는 자바 ORM 기술에 대한 API 표준 명세 (인터페이스)
→ JPA를 사용하려면 구현체 ORM 프레임워크를 선택해야 함
→ JPA 구현체는 하이버네이트, EclipseLink, DataNucleus가 있고 하이버네이트가 가장 대중적
1.3.2 왜 JPA를 사용해야 하는가?
- 생산성
- JDBC API를 사용하는 반복적인 일은 JPA가 대신 처리 (반복적 코드, CRUD)
- DDL문(CREATE TABLE) 을 자동으로 생성해주는 기능도 포함 (데이터베이스 → 객체)
- 유지보수
- SQL에 의존적이면 엔티티 필드를 하나 추가하면 여러 수정(SQL, API)이 동반
→ JPA를 사용하면 SQL, API코드를 대신 처리해주므로 코드수가 줄어 듬
- 패러다임 불일치 문제 해결을 통해 유연하고 좋은 도메인 모델을 편리하게 설계
- 패러다임의 불일치 해결
- 성능
- JDBC API : 데이터베이스와 2번 통신
- JPA : 데이터베이스와 1번 통신, 조회한 회원 객체를 재사용
String memberId = "helloId";
Member member1 = jpa.find(memberId);
Member member2 = jpa.find(memberId);
- 데이터 접근 추상화와 벤더 독립성
- 데이터 접근 계층을 사용하여, 특정 데이터베이스 기술에 종속되지 않음
- 표준
- 자바 ORM 기술 표준을 통해 다른 구현 기술로 손쉽게 변경이 가능
'개발서적 > 자바 ORM 표준 JPA' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] 3.1 엔티티 매니저 팩토리와 엔티티 매니저 (0) | 2021.07.28 |
---|---|
[자바 ORM 표준 JPA 프로그래밍] 2. JPA 시작 (0) | 2021.07.23 |
[자바 ORM 표준 JPA 프로그래밍] 1.2 패러다임의 불일치 (0) | 2021.07.23 |
[자바 ORM 표준 JPA 프로그래밍] 1.1 SQL을 직접 다룰 때 발생하는 문제점 (0) | 2021.07.23 |
[자바 ORM 표준 JPA 프로그래밍] JPA 특징, Q&A (0) | 2021.07.23 |