利用Hibernate对象持久化服务简化Java数据库访问之我见
随着互联网的推广使用,也促进了Java语言的发展。在进行J2EE标准的开发过程中,如果对数据库进行操作的时候直接采用JDBC方式,主要存在代码冗长、工程浩大的弊端,同时也存在更大的危险性,维护也比较困难。为了对这一问题进行解决,Hibernate随之出现,在Java应用中,Hibernate提供了高效、易用的O/R映射框架,使得持久层的开发得到了极大的简化。
1、Hibernate技术
1.1简介
在Java语言环境下,Hibernate技术提供了O/R映射解决方法,该技术为面向对象领域的模型提供了到传统关系型数据库的映射,是一种方便的框架。其设计主要是为了将软件开发人员从繁琐的编程工作中解放出来。Hibernate负责从Java数据类型向SQL数据类型的映射,提供对象数据的检索与查询,降低了手动处理JDBC及SQL上花费的时间。对载入类的过程有效的进行了简化,降低了利用HQL从数据库提取数据的编码量,节约了开发成本与时间。通过该技术的使用,还能够对传统的DAO、JDBC及CMP技术在对持久层开发时遇到的困难很好的进行解决,提升了生产力。
1.2原理
Hibernate其实就是一个为数据库提供服务的中间过程,其工作原理如图1所示:
图1 Hibernate原理
在Java应用中,Hibernate的作用主要是:通过Hibernate,应用程序实现了对数据库的访问和对持久层的操作,同时Hibernate通过XML Mapping映射文件及properties配置文件将类型映射到数据库中进行记录。进而使Application应用能够通过Hibernate持久化对象直接实现对数据库的访问,不再通过使用SQL语言及JDBC对数据库进行操作,节约了时间,提高了效率。Hibernate的灵活性非常好,包含多种不同的运行方式。在全面解决体系中,所有的应用程序底层的JTA API及JDBC都被抽象,但是Hibernate会对所有的细节照管;在轻型体系中,通过JDBC连接应用程序,应用程序自行对事物进行管理,这种方式是对Hibernate的一个最小子集的使用。
1.3Hibernate的优势
作为Java开源项目,Hibernate对用户开放底层代码,用户可以直接对源代码在需要的时候进行修改,并且可以定制或拓展功能。Hibernate的开发队伍比较活跃,保证了该技术的长期稳定发展,由于该技术的使用比较方面,在桌面程序开发上有较大的优势,除此以外在企业级应用开发中也得到了广泛的推广。因为Hibernate对JDBC进行了轻量级封装,实现了用户可绕过Hibernate直接对JDBC API进行访问。Hibernate自身的Transaction实质上就是底层JDBC Transaction的封装,这就使得数据持久层的开发及调试都得到了极大的简化,有效的降低了程序员的工作负担。
2、基于Hibernate的Java对象持久化的实现
Java应用程序与数据库之间以Hibernate作为纽带,Hibernate负责数据库与Java对象间的映射。在对Hibernate框架进行应用时,首先,应该编写其配置文化;其次,根据配置文焕生成映射文件,然后完成数据库与Java对象间的映射,生成持久化对象;最后,编写业务逻辑类,实现业务逻辑。对Hibernate框架在对象持久化中的应用用以下案例进行说明。
首先,建立数据表。在数据库中建立以userinformation命名的数据表。其次,创建配置文件。对Hibernate配置文件进行创建时,包含两种形式,一种是Java属性文件,另一种是基于XML的,文件名通常是hibernate.cfg.xml。为了顺利读取配置文件,一般将其应用与classpath中。在配置文件中,设计XML文档的类型定义、Hibernate管理事务、数据库连接的各种参数、管理JDBC连接及产生SQL过程中涉及的数据文件等。第三,创建持久化类。可以使用标准的Javabean实现Hibernate持久化对象,数据库中数据表的列与对象的属性是对应的,包含个数、数据类型等都要一一对应。类的属性要求有setter方法和getter方法,命名方面要遵循bean的规则。第四,创建O/R映射文件。通过XML格式文件,Hibernate指定需要持久化的O/R数据库的表之间的映射。第五,通过Hibernate API对数据库进行访问。要对数据进行操作,首先需要与数据库进行连接,按照Hibernate配置文件,执行连接代码即可完成与数据库的连接。
3、结束语
利用Hibernate所提供给的对象持久化服务,能够快速的进行数据库数据到业务对象的映射,使数据库的操作变得简单方便,有效的降低了开发的难度,提高了效率。在企业级应用程序的开发中有广阔的前景。
摘要:Hibernate作为对象持久化工具,能够通过自身O/R(对象/关系)映射功能对Java数据库中的对象数据进行映射,取代了开发人员用JDBC方式操作数据库及对SQL语言的大量使用,降低了开发的难度,有效的提高了开发的效率。
关键词:Hibernate;Java数据库;对象/关系
参考文献
[1]丁勇,潘荫荣,胡幼华.OJB对象/关系映射机制的研究与应用[J].计算机应用与软件,2007(4).
[2]吴京慧.基于Hibernate对象持久化Web应用的研究. https://www.kj009.net,2009 (2).
[3]张俐.基于Spring和Hibernate的JavaEE数据持久层的研究与实现[J].计算机与数字工程, 2008(9).