初识Hebernate

来源:互联网 发布:yoast seo设置 编辑:程序博客网 时间:2024/05/02 00:17

持久层简介  

       业务应用中很常见是将其分为三层(表示层,业务层,数据访问层),这些知识我们都很已经学习过了,那么在业务层和数据访问层再加入一更持久层呢?我们就可以联想其实和其他三层一样,每一层各自有各自的职责,层与层之间是一种单向依赖。那么具体持久层的职责是什么?

                 

1.理解持久

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

 

2.理解持久层

        持久层(Persistence Layer),实现数据持久化,将数据使用者和数据实体像关联。

        比如在三层中,数据的使用者是业务逻辑层,而数据实体层是数据访问层,持久层就是他们两层之间的桥梁。这一层就是为数据访问层做了一次封装,使得业务逻辑层只需要调用持久层就可以获得需要的数据。而且这一层中是以面向对象的方式呈现在业务逻辑层面前的。

 

3.增加持久层的作用/持久层的优点

1.    开发更加面向对象

2.    节约数据库资源,加快系统的反应速度

       数据库读写很消耗时间和资源,大量用户同时直接访问的时候效率会变低,当数据持久化就可以不用每一次都从数据库读取数据,直接从内存中进行操作。

3.    提高开发效率,使得软件体系结构更加清晰

       持久化层作为单独的一层,人们可以为这一层独立的开发一个软件包,让其实现将各种应用数据的持久化,并为上层提供服务。从而使得各个企业里做应用开发的开发人员,不必再来做数据持久化的底层实现工作,而是可以直接调用持久化层提供的API。

 

4.实现持久化的模型

对于持久化的技术的实现其实有很多的模型,我现在只是接触到了一种叫做ORM模式。

        ORM(Object Relational Mapping),即对象关系映射。指以O/R原理设计的持久化框(Framework),包括 O/R机制、SQL自生成、事务处理和Cache管理等。
        ORM的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。

        因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。Hibernate是一种常用的ORM中间件。他就是解决面向对象中的对象和关系型数据库的不匹配的问题从而实现数据的持久化。



Hibernate介绍



1.定义

         Hibernate是一种Java语言下的对象关系映射解决方案。 它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

 

2.作用

        hibernate封装了JDBC,直接操纵对象,使得开发更加对象化。

 

3.设计目标

        可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。

 

4.优缺点

•      优点

–  提高生产力

–  使开发更加对象化(阻抗不匹配)

–  可移植性

–  没有侵入性,支持透明持久化

•    缺点

–  使用数据库特性的语句,将很难调优

    因为数据库特性的语句已经被封装好了,导致这些语句的灵活度降低。

–  对大批量数据更新存在问题

–  系统中存在大量的统计查询功能

0 0
原创粉丝点击