ORM とは
オブジェクトをリレーショナルデータベースにマッピング
ORM(オブジェクト関係マッピング)は、SQLクエリを手動で書くことなく、コード内のオブジェクトを通じてデータベースを操作できるプログラミング技術です。
仕組み
- データベーステーブルはコード内のクラスに対応
- テーブルの行はオブジェクトインスタンス
- 列はオブジェクトのプロパティ
- テーブル間の関係はオブジェクト参照
利点
- SQL抽象化 — クエリではなくオブジェクトで作業
- セキュリティ — SQLインジェクションからの保護
- 移植性 — コード変更なしでデータベース切り替え
- 生産性 — ボイラープレートコードの削減
欠点
- 複雑なクエリでのパフォーマンス低下
- 追加の抽象化レイヤー
- 高度な機能の学習曲線
人気のORM
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord