IMPEDANCE MISMATCH

ORM은 객체와 테이블의 간극을 줄이지만 없애지는 않는다

객체 그래프와 관계형 테이블은 모델링 단위가 다르다. ORM은 매핑을 돕지만 SQL 비용은 남는다.

ObjectMappingRelational
object

객체 모델

참조, 상속, 캡슐화, 컬렉션을 중심으로 상태와 행위를 묶는다.

bridge

ORM 매핑

식별자, 연관관계, 생명주기, 변경 감지를 SQL과 연결한다.

table

관계형 모델

테이블, 행, 외래키, 조인, 제약조건으로 일관성을 유지한다.

차이참조는 조인으로, 컬렉션은 여러 행으로, 상속은 여러 매핑 전략으로 바뀐다
비용지연 로딩, 중복 행, 추가 SELECT, 캐시 불일치 가능성을 함께 본다