对象关系映射

物件關聯對映（，簡稱ORM，或O/RM，或O/R mapping），是一種程式設計技術，用於實現物件導向編程語言裡不同類型系統的資料之間的轉換。從效果上說，它其實是創建了一個可在編程語言裡使用的“虛擬物件資料庫”。

物件導向是從軟體工程基本原則（如耦合、聚合、封裝）的基礎上發展起來的，而關聯式資料庫則是從數學理論發展而來的，兩套理論存在顯著的區別。為了解決這個不匹配的現象，物件關聯對映技術應運而生。

簡單的說：ORM相當於中繼資料。具體到產品上，例如下邊的ADO.NET Entity Framework。DLINQ中實體類的屬性[Table]就算是一種中繼資料。

物件關聯對映成功運用在不同的物件導向持久層產品中，如：Torque，OJB，Hibernate，TopLink，Castor JDO，TJDO，Active Record，NHibernate，ADO.NET Entity Framework，ObjectiveSql等。

参见 
 对象关系映射软件列表
 AutoFetch - automatic query tuning
 CORBA
 数据库
 对象数据库
 对象持久化
 对象关系数据库
 Object-relational impedance mismatch
 关系模型
 SQL
 服务数据对象
 Java 数据对象
 ADO.NET Entity Framework
 OpenAccess ORM
 Active Record
 数据映射器模式

参考文献

外部連結 
 Scott W. Ambler的Persistence Layer的詳細設計論文
 根據上述論文的設計思路，Artem Rudoy 實現的 PL（Persistence Layer）開源專案 
 About ORM  by Anders Hejlsberg 
 Mapping Objects to Relational Databases: O/R Mapping In Detail  by Scott W. Ambler
 Core J2EE Design Pattern: Data Access Objects
 Choosing an Object-Relational mapping tool 
 Perl's DBIx::Class ORM 
 Object-relational mappers for Python  
 A tutorial with video explaining ORM
 QuickDB 
 Active Record in Java 

資料庫
面向对象的程序设计