ORM 이란
객체를 관계형 데이터베이스에 매핑
ORM(객체 관계 매핑)은 SQL 쿼리를 수동으로 작성하지 않고 코드의 객체를 통해 데이터베이스와 작업할 수 있게 해주는 프로그래밍 기술입니다.
작동 방식
- 데이터베이스 테이블은 코드의 클래스에 해당
- 테이블 행은 객체 인스턴스
- 열은 객체 속성
- 테이블 관계는 객체 참조
장점
- SQL 추상화 — 쿼리 대신 객체로 작업
- 보안 — SQL 인젝션으로부터 보호
- 이식성 — 코드 변경 없이 데이터베이스 전환
- 생산성 — 보일러플레이트 코드 감소
단점
- 복잡한 쿼리에서 성능 저하
- 추가 추상화 계층
- 고급 기능에 대한 학습 곡선
인기 ORM
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord