springframework/Spring Data JPA

ORM 패러다임 불일치

Jungsoomin :) 2020. 11. 8. 22:55

밀도

  1. 객체 : 다양한 타입과, 크기를 설정 가능
  2. 릴레이션 : 테이블, 기본데이터 타입만이 존재

서브타입 문제

  1. 객체 : 상속구조로 서브타입을 만들기 쉬움. 다형성을 가짐
  2. 릴레이션 : 테이블상속은 없다. 상속기능을 구현하더라도 표준기술이 아니며, 다형성을 표현할 수 없다.

식별성의 문제

  1. 객체 : 인스턴스 비교 가능( equals , == )
  2. 릴레이션 : PK 만을 사용

관계 문제

  1. 객체 : 객체 참조로 관계표현, 다대다 관계도 표현가능
  2. 릴레이션 : FK 로 관계표현, Join 으로 방향성 없이 묶을 수 있다.  N : M 관계 표현 불가 링크테이블 필요

데이터 네이게이션

  1. 객체 : 참조 값을 이용해서 다른 객체로 이동 가능, 컬렉션 순회가능
  2. 릴레이션 : 데이터 베이스에 요청을 적게 할 수 록 성능 상의 이점을 보기 때문에 Join을 사용, 과다한 Join도 성능 부하를 일으킴
이 차이점을 줄이고자 활용하기 위해 고민하여 탄생한게 ORM 이다.

'springframework > Spring Data JPA' 카테고리의 다른 글

관계 맵핑, 1 : N  (0) 2020.11.13
Value 타입 맵핑  (0) 2020.11.13
엔티티타입 맵핑  (0) 2020.11.13
JPA 실행하고 적용하기  (0) 2020.11.09
JPA 개요  (0) 2020.11.08