JPA란
(Java Persistence API)는 자바 진영의 ORM 기준 표준이다.
애플리케이션과 JDBC 사이에서 동작한다.
ORM이란 무엇일까?
Object-Relational Mapping 은 객체와 관계형 데이터 베이스를 매핑한다는 뜻이다.
ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해 준다.
-> 개발자는 데이터 중심인 관계형 데이터베이스를 사용해도 객체지향 애플리케이션 개발에 집중할 수 있다.
JPA 소개
JPA는 자바 ORM 기술에 대한 API 표준 명세다. 쉽게 이야기해서 인터페이스를 모아둔 것이다.
현재 JPA 2.1을 구현한 ORM프레임워크는 하이버네이트, EclipseLink, DataNucleus가 있는데
그 중 하이버네이트가 가장 대중적이다.
왜 JPA를 사용해야 하는가?
- 생산성
JPA를 사용하면 자바 컬렉션에 객체를 저장하듯이 JPA에게 저장할 객체를 전달하면 된다.
jpa.persist(member); // 저장
Member member = jpa.find(memberId); // 조회
지루하고 반복적인 코드와 CRUD용 SQL을 개발자가 직접 작성하지 않아도 된다.
- 유지보수
엔티티에 필드를 추가하거나 삭제해도 수정해야 할 코드가 줄어든다.
개발자가 작성해야했던 SQL과 JDBC API 코드를 JPA가 대신 처리해주므로
유지보수해야하는 코드 수가 줄어든다 - 패러다임의 불일치 해결
- 성능
같은 트랜잭션 안에서 같은 회원을 두번 조회하는 코드가 있을때,
JPA를 사용하면 회원을 조회하는 SQL문을 한번만 데이터베이스에 전달하고
두번쨰는 조회한 회원 객체를 재사용한다. - 데이터 접근 추상화와 벤더 독립성
JPA는 애플리케이션과 데이터베이스 사이에 추상화된 데이터 접근을 제공해서
애플리케이션이 특정 데이터베이스 기술에 종속되지 않도록 한다.
예를 들어 로컬 개발환경은 H2 데이터베이스를 사용하고
개발이나 사용환경은 오라클이나 MySQL 데이터베이스를 사용할 수 있다. - 표준
JPA는 자바 진영의 ORM 기술 표준이다.
표준을 사용하면 다른 구현 기술로 손쉽게 변경할 수 있다.
'개발 도서 읽기 > 자바 ORM 표준 JPA 프로그래밍' 카테고리의 다른 글
[4장]4.1~4.6 엔티티 매핑 (3) | 2024.11.09 |
---|---|
[3장] 영속성 관리 (0) | 2024.11.08 |
[2장] JPA 시작 (0) | 2024.11.07 |
[1장] 1.2 패러다임의 불일치 (1) | 2024.11.05 |
01 JPA 소개 (1) | 2024.11.04 |