什么是ORM?

260 阅读2分钟

What is ORM?

什么是ORM

ORM(Object-relational mapping),是一种对象的映射关系,是为了解决面对对象和关系数据库存在互不匹配的现象的技术,ORM通过使用描述对象与数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

为什么使用ORM?

在开发的过程中数据库中的表,字段以及程序中的实体类之间是没有直接关联的,在实现持久化时就会非常不方便。

那么如何实现持久化呢?

一种简单的方案就是硬编码,例如为每一种类型的数据库的访问提供一个单独的方法。但是这种情况存在以下几种不足: 1.持久层缺乏弹性,一旦业务出现变化,持久层接口都需要发生变化。 2.持久层与域模型以及关系数据库属于绑定关系,一旦域模型或者关系数据库发生改变,都需要修改持久层的相关代码,使代码难以维护 但是ORM提供了持久层服务的另一种模式,它采取映射元数据来描述对象关系的映射映射,使得ORM中间件可以在任何一个应用的业务逻辑层和数据库层之间充当桥梁。

ORM的方法基于三个核心

  • 简单:以最基本的形式建模数据
  • 传达性:数据库结构被任何人可以理解的语言文档化
  • 精确性:基于数据模型创建标准化的结构

优点

与传统数据库访问技术相比,ORM具有以下的优势:

  • 开发效率更高
  • 数据访问更加抽象和轻便
  • 支持面向对象封装

缺点

  • 降低程序的执行效率
  • 思维固定化

从系统结构上看,采用ORM技术的一般是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。

在我们开发系统时,一般都有性能问题。性能问题主要产生在算法不正确和数据库使不正确的使用上。ORM所生成的代码一般不太能写出很高效的算法,在数据库应用上更有可能被误用,主要体现在对持久对象的提取和数据的加工处理上,如果用上了ORM,程序员很有可能降全部的数据提取到内存对象中,再对数据进行加工和处理,这样就很容易对性能产生影响。