ORM 是 Object Relational Mapping 的简称,即对象关系映射。
它是一种为了解决面向对象与关系数据库存在的不匹配的现象的技术。
简单地说,ORM是通过使用描述对象和数据库之间映射的元数据,将 Java 程序中的对象自动持久化到关系数据库中。本质上就是将数据从
一种形式转换到另外一种形式。
ER:数据表是通过“实体——关系”,从数据实体映射为数据表的;
ORM: 映射对象是通过“对象——关系”从数据表映射为实体对象的。
映射对象是普通的 Java 类,代表数据实体,类名与表名对应,变量与表的字段对应,ORM 就是数据表与映射对象之间的映射关系。
ORM 实现了数据表到 Java 对象的映射,这正是 ORM 的作用。
对象和数据表是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为数据表。内存中的对象之间存在关联和继承关系,而在数据库中,数据表无法直接表达多对多关系和继承关系。因此,对象—关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库的映射。
但我们只需要用O/R Mapping 保存、删除、读取对象,它负责生成 SQL,我们只需要关心对象就好。这就实现了数据库到面向对象编程的完美过渡。