hibernate作为j2ee数据持久层的分析和研究

hibernate作为j2ee数据持久层的分析和研究

ID:25241128

大小:63.50 KB

页数:9页

时间:2018-11-19

hibernate作为j2ee数据持久层的分析和研究_第1页
hibernate作为j2ee数据持久层的分析和研究_第2页
hibernate作为j2ee数据持久层的分析和研究_第3页
hibernate作为j2ee数据持久层的分析和研究_第4页
hibernate作为j2ee数据持久层的分析和研究_第5页
资源描述:

《hibernate作为j2ee数据持久层的分析和研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Hibernate作为J2EE数据持久层的分析和研究摘要在Java技术中有许多方法可以对数据进行持久化,持久层也是Java应用程序中最重要的部分之一。本文在分析了3种持久层主流解决方案的基础上,介绍了O-R映射开源项目Hibernate,并介绍了在ARGIN:0cm0cm0pt;TEXT-INDENT:21.1pt;mso-char-indent-count:2.0">关键字hibernate,数据持久化,JDBC,EJB,JDO1数据持久层简介J2EE的三层结构是指表示层(Presentation),业务逻辑层(

2、BusinessLogic)以及基础架构层(Infrastructure),这样的划分非常经典,但是在实际的项目开发法中,开发者通常对三层结构进行扩展来满足一些项目的具体要求,一个最常用的扩展就是将三层体系扩展为五层体系,即表示层(Presentation),控制/中介层(Controller/Mediator)、领域层(Domain),数据持久层(DataPersistence)和数据源层(DataSource)。它其实是在三层架构中增加了两个中间层。控制/中介层位于表示层和领域层之间,数据持久层位于领域层和基础

3、架构层之间。由于对象范例和关系范例这两大领域之间存在“阻抗不匹配”,所以把数据持久层单独作为J2EE体系的一个层提出来的原因就是能够在对象-关系数据库之间提供一个成功的企业级映射解决方案,尽最大可能弥补这两种范例之间的差异。2三种持久层主流解决方案2.1JDBC许多开发者用JDBC进行数据库程序的开发。此中方式很多情况下都使用DAO模式,采用SQL进行查询。虽然用此方式可以使应用程序代码与具体的数据库厂商和数据库位置无关,不过JDBC是低级别的数据库访问方式,JDBC并不支持面向对象的数据库表示。JDBC数据库表示

4、完全围绕关系数据库模型。在大型应用程序的DAO中书写这样的代码,维护量是非常大的。2.2EJB在J2EE的规范中,为EJB定义了两种持久化的解决方案:一种是BMP,另一种是CMP。其中CMP不需要将SQL语句加入到代码中。目前,在采用J2EE的应用中,EJBCMP方式得到了广泛应用。更加引人注意的是,随着EJB规范的发展,CMP也包含了一些高级关系的内容。但是,CMP的使用比较复杂,对很多开发人员来说比较难以掌握。而且,不是在所有的情况下都适合在系统中采用EJB,而且想要非常清楚的了解EJB规范也是非常费时的。在用

5、EJB编码前,先要让专家理解API,然后需要了解每一个容器部署时所要关注的技术。此外,许多情况下商用容器的性能和支持也不是很好。2.3JDOJDO是一个存储java对象的规范,JDO规范1.0的提出可以使你将精力集中在设计Java对象模型,然后在企业应用软件架构的不同层面中存储传统的Java对象(PlainOldJavaObjects,简称POJOs),采用JDOQL语言进行SQL操作。一些公司(包括sun)企图根据JDO规范进行设计并实现JDO产品,然而他们都不能很好的进行实现,并且性能优化上比较差。3数据持久层

6、新的解决方案Hibernate3.1Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HibernateQL从数据库提取数据的代码的编写量,从而节约开发时间和

7、开发成本Hibernate可以和多种soNormalstyle="TEXT-ALIGN:left"align=left>3.2Hibernate原理Hibernate技术本质上是一个提供数据库服务的中间件。它的架构如图1所示:图1图1显示了hibernate的工作原理,它是利用数据库以及其他一些配置文件如hibernate.properties,XMLMapping等来为应用程序提供数据持久化服务的。Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提

8、供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTAAPI都被抽象了,Hibernate会替你照管所有的细节。4使用Hibernate建立一个应用4.1配置Hibernate在src目录下创建名为hibernate.cfg.xml的配置文件,并且将它的路径添加到应用的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。