JPA(Java Persistence API)란
본문 바로가기
Spring/Spring Boot

JPA(Java Persistence API)란

by IYK2h 2021. 8. 6.
728x90

JPA(Java Persistence API)란 자바 진영의 ORM 기술 표준

https://dahye-jeong.gitbook.io/spring/spring/2020-04-11-jpa-basic

  • Persistence는 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미
  • JPA는 자바에 있는 데이터를 영구히 기록할 수 있는 환경을 제공하는 API이다.(DB Mapping)
  • ORM을 사용하기 위한 인터페이스를 모아둔 것

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

댓글