ORM一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
ORM是随着面向对象的软件开发方法的发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。
ORM通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中,并管理用于控制转换的元数据。已有很多产品,例如,Java系列的典型产品有APACHE OJB、Hibernate ORM等;Entitys Code Generate(简称ECG)是专门为.NET数据库程序开发的(ORM框架)代码生成工具,可用于ORACLE、SQLSERVER、SYBASE、DB2、MYSQL等数据库的连接。