728x90
JPA(Java Persistence API)란 자바 진영의 ORM 기술 표준
- Persistence는 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미
- JPA는 자바에 있는 데이터를 영구히 기록할 수 있는 환경을 제공하는 API이다.(DB Mapping)
- ORM을 사용하기 위한 인터페이스를 모아둔 것
Hibernate(ORM 프레임 워크)
다양한 ORM 프레임워크 중 가장 많이 사용되는 프레임워크, Open Source SW
- 이러한 Hibernate 기반으로 만들어진 ORM 기술 표준이 바로 JPA
- JPA를 사용하려면 Hibernate를 사용하면 된다.
장단점
- 장점
- JPA는 반복적인 CRUD 작업을 생략가능
- JPA는 영속성(영구적) 컨텍스트를 가지고 있다.
- 불일치성을 해결하기 위한 방법론을 제공
- JPA는 OOP(객체지행)의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)
- 객체 자체에 집중, 데이블 생성, 병경, 관리가 쉽다.
- 빠른 개발
- 단점
- 어렵다. 장점을 극대화 하기 위해서 알아야 하게 많다.
- 잘 이해하지 않고 사용하면 데이터 손실이 있을 수 있다.
- 성능상 문제 발생 할 수 있다.
Reference
https://ultrakain.gitbooks.io/jpa/content/chapter1/chapter1.html
https://dahye-jeong.gitbook.io/spring/spring/2020-04-11-jpa-basic
728x90
'Spring > Spring Boot' 카테고리의 다른 글
JPA & PostgreSQL 연동 (0) | 2021.09.03 |
---|---|
JPA의 Entity (0) | 2021.08.27 |
JPA의 Entity와 DTO를 구분하여 사용해야하는 이유 (0) | 2021.08.20 |
REST API (0) | 2021.07.23 |
Spring Boot MVC Pattern(Service, DAO, DTO, VO) (0) | 2021.07.09 |
댓글