비교 포인트

같은 ORM이라도 무엇을 자동화하고 무엇을 명시하는지가 다릅니다

프레임워크 이름보다 먼저 보면 좋은 기준은 엔티티 상태를 얼마나 오래 관리하는지와 스키마·쿼리를 얼마나 드러내는지입니다.

객체 상태 자동 관리 스키마 · 타입 · 쿼리 명시성
JPA
Django
TypeORM
Prisma
비교 축
Data Mapper JPA / Hibernate
Active Record Django ORM
혼합형 TypeORM
Schema-first Prisma
어떻게 다루나
영속성 컨텍스트가 엔티티 변경을 추적

객체를 조작하면 flush 시점에 SQL이 반영됩니다.

모델이 곧 조회와 저장의 진입점

QuerySet 체이닝으로 CRUD와 필터를 빠르게 이어 갑니다.

Entity 기반과 Repository 방식이 함께 존재

데코레이터로 매핑하고 필요하면 QueryBuilder로 내려갑니다.

스키마를 먼저 적고 타입 안전한 Client를 생성

쿼리 의도와 반환 타입이 코드에서 비교적 명확하게 보입니다.

왜 쓰나
복잡한 도메인 모델과 관계 관리에 강함

변경 감지, 지연 로딩, JPQL처럼 상태 중심 작업에 유리합니다.

간결한 문법으로 생산성을 빠르게 확보

웹 애플리케이션에서 일반적인 데이터 접근을 짧게 표현하기 쉽습니다.

TypeScript 생태계에서 유연한 절충안

도메인 모델과 SQL 제어 사이의 균형점을 잡기 좋습니다.

명시적 스키마와 자동 생성 타입이 강점

협업 시 모델 변화와 쿼리 결과를 예측하기 쉬운 편입니다.

읽는 법

왼쪽으로 갈수록 객체 생명주기와 관계를 더 깊게 맡기고, 오른쪽으로 갈수록 스키마와 쿼리를 더 명시적으로 다룹니다. 즉, 선택 기준은 언어보다 자동화 범위와 제어 방식입니다.