본문 바로가기

개발과/"Spring"이 왔나 봄

두번째 '봄'(Spring) : JPA

JPA개념 잡기

1. JPA는 Java Persistance(영속성) API다. : Ram에 저장되 있는것은 영속성이 x, HardDisk로 넘어가야 Persistance가 생기는 것인데 이렇게 데이터에 영속성을 가지게 해주는 기술이다. 하드디스크 같은 역할을 하는 DBMS로 할당하여 영속성을 가지게 해준다.

2. ORM(Object Realational Mapping) 기술이다. : 객체지향적으로 모델링 하는것을 도와주는 나의 종이다. 

원래 순서는 설계도를 보고 건물을 설계를 해야 했지만, JPA를 통해 추상적인것을 바로 객체화할 수 있는 기술.

이를 통해 데이터베이스 세계와 프로그래밍 언어 사이의 개념의 간극을 줄여준다.

PRM에서 ORM으로 바꿔준다!

3. JPA는 영속성 context를 가지고 있다. : 영속성 context 라는 것은 Entity를 영구적으로 저장하는 환경인데 이것의 위치는 DB와 어플리케이션 사이에서 가상의 데이터 베이스 같은 역할을 한다. 종류가 비영속, 영속, 준영속이 있지만 이건 다음에 기회가 될때 디테일 하게 살펴보는 걸로 하자.

4. DB와 OOP의 불일치 성을 해결하기 위한 방법이다. : DB는 객체를 저장할 수가 없는데 JPA는 객체를 가지고 갈 수 있게 하면서 객체의 모델링이 가능하게 해준다.

5.OOP의 관점에서 모델링이 가능하게 한다. : 4번에서 말한 것이 그 이유이다.

6. 방언처리기능 용이 migration 하기가 좋다. 유지보수 또한 좋게 만들어져 있다. : Spring -JPA-DB 처럼 데이터 베이스와 스프링의 사이에 위치 하고 있으며 방언처리 기능이 있기에 오라클을 쓰다가 SQL을 넘어가도 전혀 문제가 되지않음.

 

아마 위에 내용을 읽어 봐서 알겠지만...JPA는 정말 쉽다가도 어려운 놈이라는 생각이든다...