자바와 DB 패러다임의 차이

가언·2024년 7월 27일
post-thumbnail

✅ 단어 정리부터!

패러다임이란?

한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는, 사물에 대한 이론적인 틀이나 체계.

흠... 쉽지 않은데.. 자바세상과 DB세상에서 데이터를 다루는 룰? 이라고 해석해보자!

✅ 그럼 자바세상과 DB세상의 룰 차이는 뭘까?

먼저 자바세상의 규칙을 보자!
✔️자바는 데이터를 "객체"로 다룬다. (객체 지향적)
✔️DB에서는 "데이터" 간의 "관계"를 표현한다.(데이터 지향적, sql지향적)

🌟 예시: 호텔과 룸

✔️fact: 호텔은 여러개의 방을 가지고 있다 -> 1 : N 관계

Q. 그럼 자바 세상에서는 어떻게 호텔과 방의 데이터들을 표현할까?

호텔 클래스에 방 객체를 리스트 형태로 포함하고 있다!

Q. 그렇다면 DB 세상에서는 호텔과 방의 관계를 어떻게 표현할까?

위 erd설계와 같이 일대다 관계로 호텔과 방을 연결하였다!

정리

자바세상과 DB세상에서는 1:N 관계를 나타내는 방식이 다르다.
: 일대일/일대다 관계에서 id로 연결하느냐/객체로 연결하느냐의 차이가 존재 -> 객체 사이의 연관이 있을 때 문제가 생김
자바: 상속, 계층 관계 "객체 세상"
DB: 매핑, 동등 관계 "데이터 세상"

✨그렇다면 자바와 DB의 데이터를 다루는 데이터의 기본 단위(자바: 객체, DB: 데이터)가 다른데 어떻게 자바에서 데이터를 저장해야 할까??

둘 중에 하나가 양보해서 한쪽의 방식에 맞춰준다면 가능하겠지만,
서로가 양보할 수는 없어❌
양보하는 순간 자바와 DB의 가장 중요한 특성을 잃어버리기 때문이지ㅠㅠ
🤔: 그럼..방법이 모야?! 자바에서는 데이터를 저장할 수 없는거야?!!!

😀: 하나의 방법이 있긴해..
자바와 DB 사이 에서 중개자 역할을 해주는 어떤 것이 존재하면 되잖아!

두둥!! 이런 니즈로 인해 ⚡️ JPA(JAVA Persistant Api)⚡️ 등장한 것이야

JAVA에게 꼭 필요한 JPA는 서로의 특성을 유지해 자바는 객체 지향 설계를, DB에서는 관계 지향 설계를 할 수 있도록하는 역할을 하지

그럼 다음 블로그에서는 JPA를 본격적으로 들어가기 앞서 지식을 정리해보자!

profile
@gari_guri

0개의 댓글