티스토리 뷰

728x90

*공부에 집중하기 위해 그냥 싸지른 정리되지 않은 글입니다.

 

JPA를 사용하기 전에 JPA를 사용하는 이유에 대해서 알아보자!

데이터 베이스 세계의 헤게모니는 관계형 DB가 쥐고 있다.

그래서 우리는 객체를 관계형 DB에 저장해서 관리해야한다.

그런데 코드를 까보면 다 SQL이다.

SQL중심적인 개발이 되는게 문제라고 할 수있다.

구체적으로 무한 반복과 지루한 코드 SQL을 단점을 그대로 안고 가야하는 문제가 있다.

 

기존에는 

테이블을 만들고 쿼리를 짠 후에 수정요청이 들어왔을 때

모든 코드들을 수정 해줘야 하는 코스트가 많았다.

 

패러다임의 불일치

객체 vs 관계형 데이터베이스 

객체를 관계형 DB에 넣으려고 하니까 문제가 생기는 것이다

객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성등 시스템의 복잡성을 제어할 수있는 다양한 장치들을 제공한다.

객체를 영구 보관하는 다양한 저장소는 다음과 같다.

RDB, NoSQL, File

 

개발자는 SQL 매퍼의 일을 하고 있었다.

객체와 관계형 데이터베이스의 차이

1. 상속 없다.

2. 연관관계 get, join

3. 데이터 타입

4. 데이터 식별 방법

 

그나마! 유사한 형태로 DB를 구성한다고 햇을때,

객체지향(상속관계) --유사--> 관계형DB(슈퍼타입 서브타입 관계)

 

조회하는 경우 모든 관계형 DB조합 관계를 모두 매핑 해줘야한다.

그러나 객체지향의 자바 컬렉션에 데이터가 저장되어있다고 생각한다면?

아주 쉽게 가능하다.

 

 

'Back-end > JPA' 카테고리의 다른 글

[JPA#2] JPA란?  (0) 2022.02.13
댓글