ORM 도구는 추상화 수준과 SQL 제어력이 다르다
도구 선택은 언어 생태계만이 아니라, 쿼리를 어디까지 직접 제어해야 하는지에 달려 있다.
도구
성격
강점
주의
JPA/Hibernate
Data Mapper
영속성 컨텍스트, 변경 감지
fetch 전략과 N+1 확인
Django ORM
Active Record
모델 중심 개발 속도
복잡 조회 SQL 점검
Prisma
Schema-first
타입 생성과 마이그레이션
raw query 경계 관리
MyBatis
SQL Mapper
SQL 직접 제어
반복 매핑과 동적 SQL 관리
SQLAlchemy
ORM + Core
추상화와 SQL 계층 선택
팀별 사용 규칙 필요
추상화 높음
도메인 객체 중심으로 빠르게 작성한다.
도메인 객체 중심으로 빠르게 작성한다.
제어력 높음
실제 SQL과 실행 계획을 직접 본다.
실제 SQL과 실행 계획을 직접 본다.
실무 기준
팀이 쿼리를 디버깅할 수 있는 도구를 고른다.
팀이 쿼리를 디버깅할 수 있는 도구를 고른다.