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

+ Recent posts