JPA 란?
Java Persistence API의 줄임말로 JAVA에서 쓰이는 ORM 기술 표준이다.
기존의 EJB 에서 제공되던 EJB ORM 엔티티빈을 대체하는 기술이다.
어플리케이션과 JDBA 사이에서 동작한다
EJB 3.0에서 새로운 자바 ORM 기술 표준이 만들어진것이다.
JPA는 Hibernate, OpenJPA, EclipaseLink, TopLink Essentials와 같은 구현체가 있고 이것들의 표준 인터페이스가 바로 JPA이다.
ORM : Object Relational Mapping
ORM이란 RDB테이블을 객체지향적으로 사용하기위한 기술이다. RDB테이블은 객체지향적 특징이없기때문에 자바같은 언어로의 접근이 쉽지않아 객체지향적으로 다루기위한 기술이다.
객체와 RDB 를 ORM 프레임워크가 중간에서 맵핑해준다.
JPA의 장점
- 객체지향적인 개발이 가능하다
객체지향 언어인 자바에 적합하다.
데이터베이스 설계 중심의 패러다임이 객체설계 중심으로 적용된다
- 생산성이 높아진다
지루하고 반복적인 코드와 crud sql을 생성하지않고 테이블에 컬럼만 수정하면 JPA가 자동으로 적용한다.
테이블 생성, 변경, 관리가 쉬워 빠른 개발이 가능하다.
- 패러다임의 불일치를 해결해준다
객체와 데이터베이스의 패러다임 불일치를 해결해준다
상속, 연관관계, 객체 그래프 탐색, 비교라기 등의 문제들도 해결
- 성능이 좋아진다
어플리케이션과 데이터베이스 사이에서 최적화된 동작 기능을 한다
- 데이터 접근 추상화와 밴더 독립성
JPA는 애플리케이션과 데이터베이스 사이에 데이터 접근 계층을 제공라여 여플이케이견이 특정 데이터베이스의 기술에 종속되지 않도록 한다
데이터베이스 변경시이 JPA에게 디비 종류를 알려주기만 하면 된다
JPA의 단점
- 어렵다.
- 잘 이해하고쓰지않으면 데이터의 손실이 있을수가있다.
'IT > Server' 카테고리의 다른 글
[Docker] 도커란? MacOS에 도커 설치하기 (0) | 2021.08.31 |
---|---|
[Pinpoint] Pinpoint란? (0) | 2021.06.10 |
[Spring] @RequestMapping-> @GetMapping , @PostMapping (0) | 2021.05.12 |
[HTTP] Error Code 정리 ( 정리중 ) (0) | 2021.04.21 |
[WebServer] Nginx 디폴트 에러페이지 설정하기 (0) | 2021.04.21 |