데이터베이스
ORM
다른 이름: Object-Relational Mapping
정의
Object-Relational Mapping. 객체 지향 프로그래밍 언어에서 관계형 데이터베이스를 객체처럼 다루게 해주는 기술. SQL을 직접 작성하지 않고 코드로 쿼리를 표현. SQL 인젝션 자동 방지, 타입 안전성, 데이터베이스 마이그레이션 자동화
상세 설명
기술 스펙
- Sequelize, TypeORM, Prisma (JavaScript/TypeScript)
- SQLAlchemy, Django ORM (Python)
- Hibernate (Java)
- ActiveRecord (Ruby)
실무 활용
- SQL 인젝션 자동 방지
- 타입 안전성 (TypeScript 통합)
- 데이터베이스 마이그레이션 자동화
- Raw SQL 대비 가독성 향상
장점
- SQL 인젝션 완벽 차단
- 타입 안전성
- 생산성 향상
- 데이터베이스 독립성
단점 및 제약
- 복잡한 쿼리 성능 저하 가능
- ORM 학습 곡선
- 마법 같은 동작으로 디버깅 어려움