ORM的概念

今天面试,遇到问ORM,虽然知道大概是什么,但是还是没有一个很体系的理解。
跟着传送门 来了解一下ORM的概念:

ORM的概念

ORM即 Object-Relational Mapping,

是为了解决面向对象和关系数据库互补匹配的现象而出现的技术。

简单来说,就是将关系数据库和对象做一个映射,这样,在我们具体去操作数据库的时候不用再去写原生的SQL语句,而是像平时操作对象一样操作数据库就ok了。
ORM使用描述对象和数据库的之间的元数据,让对象自动持久化到关系数据库中。

这里就提到另一个关键词:持久化

  1. 数据持久化的应用:
    就是将数据保存在磁盘文件、关系型数据库、xml文件这些可以永久保存的存储文件中。
  2. 持久化层:
    专注实现数据持久化应用领域的某个特定系统的逻辑层面。将数据持有者和数据实体相关联。

ORM采用映射元数据的方式来描述对象关系的映射。使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁。Java典型的ORM中间件有:Hibernate,ibatis,speedframework。
ORM方法论基于三个原则:

  1. 简单
    以最基本的形式建立数据模型
  2. 传达性
    数据库结构被任何人都能理解的语言文档化
  3. 精确性
    基于数据模型创建了正确标准化了的结构

ORM解决的问题

ORM解决的主要问题是对象关系的映射。域模型和关系模型分别是建立在概念模型的基础上的。域模型是面向对象的,而关系模型是面向关系的。
一般情况下,一个持久化类和一个表对应,类的每个实例对应表中的一条记录,类的每个属性对应表的每个字段。

ORM的优缺点

优点:

  • 提高开发效率,我们操作数据库就是操作对应的对象进行增删改查,不用使用原生的sql语句
  • 由于ORM可以自动对Entity对象与数据库中的Table进行字段与属性的映射,所以我们实际可能已经不需要一个专用的、庞大的数据访问层。

缺点:

  • 从系统结构上来看,采用ORM的系统一般都是多层系统,系统的层次多了,效率就会降低。ORM是一种完全的面向对象的做法,而面向对象的做法也会对性能产生一定的影响。
  • 在对对象做持久化时,ORM一般会持久化所有的属性,有时,这是不希望的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值