JPA란?
- JPA는 Java Persistence(영속성) API이다.
- JPA는 ORM 기술이다.
- JPA는 반복적인 CRUD 작업을 생략하게 해준다.
- JPA는 영속성 컨텍스트를 가지고 있다.
- JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다. (DB는 객체저장 불가능)
- JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)
- 방언 처리가 용이하여 Migration하기 좋고 유지보수에도 좋다.
- JPA는 쉽지만 어렵다..?
JPA는 Java Persistence(영속성) API이다.
영속성 : 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미
JPA : Java 진영에서 ORM(Object-Relational-Mapping) 기술 표준으로 사용하는 인터페이스 모음 → class로 만들어진 데이터를 바탕으로 DB를 만들어 준다.
JPA는 ORM 기술이다.
ORM(Object-Relational-Mapping) : 객체와 DB의 테이블이 매핑을 이루는 것 → 즉, 객체가 테이블이 되도록 매핑 시켜주는 것
ORM을 사용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작하고 관리할 수 있게 된다.
JPA는 반복적인 CRUD 작업을 생략하게 해준다.
JPA는 영속성 컨텍스트를 가지고 있다.
JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다. (DB는 객체저장 불가능)
JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)
방언(dialect) 처리가 용이하여 Migration하기 좋고 유지보수에도 좋다.
다양한 dialect(방언)을 사용해 Mysql을 사용하다가 오라클을 사용해야 한다고 하더라도 손쉽게 옮길 수 있다.
'Develop > Spring' 카테고리의 다른 글
| '코드로 배우는 스프링 웹 프로젝트' 정리(Controller) (0) | 2022.06.23 |
|---|---|
| Spring 궁금했던거 (0) | 2022.03.25 |
| Springboot, Spring 개념정리 3 (0) | 2022.03.22 |
| Springboot, Spring 개념정리 1 (0) | 2022.03.22 |
| Spring 웹 개발 기초 (0) | 2022.03.22 |