Impedance

객체 모델과 관계형 모델은 다른 모양으로 데이터를 본다

ORM은 차이를 줄여 주지만, 생성 SQL과 트랜잭션 경계를 모르면 비용이 숨어 버린다.

기준
Object Graph
Relational Table
표현
참조와 컬렉션
행, 열, 외래 키
탐색
user.orders처럼 이동
JOIN과 WHERE로 결합
상태
메모리 객체 변경
트랜잭션 commit
위험
지연 로딩과 N+1
중복 row와 조인 비용
ORM 사용자는 객체 코드와 실제 SQL 로그를 함께 읽어야 한다.