728x90
1. JPA 는 Java Persistence API 이다.
- JPA : Java Persistence API, API = Application Programming Interface
자바의 데이터를 비휘발성인 하드디스크의 일부분에 영구히 저장하도록 해주는 API 이다.
인터페이스 : 강제적인 힘이 있음. 상하관계가 존재함
프로토콜 : 상하관계가 없음.
2. JPA 는 ORM 기술이다.
- ORM : Object Relation Mapping ( 나의 하인! )
JPA 의 인터페이스를 이용해서 자바에서 테이블을 생성하면 DB 에서 테이블 자동 생성 가능.
데이터 쿼리 전송, 연결등의 과정들을 함수를 통해 제공해줌.
CURD 기능 제공 ( insert, update, delete, select, select all )
3. JPA 는 영속성 컨텍스트를 가지고 있다.
- 영속성 : 데이터를 영구적으로 저장,
context : 대상의 모든 정보
영속성 컨텍스트는 자바와 DB 사이에 위치하며 둘 사이의 데이터 교류에 대한 정보를 다 가지고 있다.
4. JPA 는 DB와 OOP 의 불일치성을 해결하기 위한 방법론을 제공한다. ( DB 는 객체 저장 불가능 )
- ex ) DB 에 int teamnum 대신 Team 클래스의 객체인 Team team = Team 오브젝트 를 만들 수 있고, ORM 은 이 변환을 자동으로 해준다.
5. JPA는 OOP 관점에서 모델링을 할 수 있게 해준다. ( 상속, 콤포지션, 연관관계 )
- 클레스를 생성하면 그에 알맞는 DB 테이블이 자동으로 생성되고 상속을 하게 되면 상속 클래스의 DB 역시 자동 생성된다.
6. 방언 처리가 용이하여 Migration 하기 좋고 유지보수 역시 좋다.
- 다양한 DB 를 사용할 수 있다. 추상화 객체를 이용한다면 어느 DB 를 사용하던지 상관이 없다.
728x90
'🟢 개념 정리 > Spring' 카테고리의 다른 글
| @Configuration, @Bean (0) | 2022.08.02 |
|---|---|
| 테스트 코드, @Test (0) | 2022.08.02 |
| 좋은 객체 지향 설계의 5가지 원칙 ( SOLID ) (0) | 2022.08.01 |
| 스프링 작동 원리 (0) | 2022.07.27 |
| 스프링이란 무엇인가? (0) | 2022.07.26 |