hibernate学习笔记(二)持久化与ORM

数据持久化

要想了解hibernate需要先理解数据持久化的概念和ORM,下面我们先简单介绍一下持久化。

1、持久化(Persistence

       面向对象很强大,但是有一个问题,就是所有的对象都是在计算机的内存里的,一旦软件关闭,对象消失。于是需要有这样的功能:把内存中的对象保存到数据库里去,需要的时候再从数据库里拿出来。软件一旦停止,对象就不存在了。

       持久化是把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

1.1、为什么要对数据持久化?

持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。

●通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

●代码重用性高,能够完成大部分数据库操作;

●松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。

1.2、持久化的主要技术

a.  JDBC技术

jdbc工作框架:


这是是最基本,小型应用系统开发中,可以提供快速,并且有效的数据持久层支持。但是单纯使用JDBC的方式,会产生高度依赖JDBC API的,代码量大,数据持久层的改动会容易引起业务逻辑层的改动。

b. EJB的CMP模式

(Container—Managed Persistent)CMP容器管理持久化


运行在EJB容器中,减少了开发者的工作量,EJB容器封装了对象/关系映射及数据访问细节。缺点高度依赖EJB容器,重量级的封装,功能复杂。

c.使用持久层框架

比如Hibernate、mybatis,这些都是在以上基础上发展起来的,是轻量级的。

主要是对JDBC进行完美的封装,尤其是一些连接操作,以及数据库的管理等抽象出来,生成了一个专门针对数据库的ORM框架。很多底层的工作都有持久层框架来做,对上只提供了良好的接口。是很符合面向对象的思想的,是把对数据库的表结构的操作映射为对对象的操作。


2、ORM(O/R mapping)

    ORM,对象关系映射,是一种思想。

    内存中的面向对象的OO如何持久化成关系型数据中存储一条实际数据记录呢?

   Object是可以继承的,是可以使用接口的,而Relation没有这个概念。就是因为这一点,我们将实体设计成Object方法,从而获取了大量的优势。

   面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的.  两者之间是不匹配的.而ORM作为项目中间件形式实现数据在不同场景下数据关系映射. 对象关系映射是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM就是这样而来的。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值