APP下载

Hibernate框架技术在数据库检索系统中的应用研究

2018-09-26王小霞

数字技术与应用 2018年5期
关键词:信息系统数据库

王小霞

摘要:本文从Hibernate框架技术入手,研究Hibernate框架技术,探讨其在民族研究科研管理数据库检索系统中的应用。系统通过采用Hibernate框架,解决了并发访问控制低的问题,增强系统的可扩展性和良好的可维护性。使开发更加规范,安装和部署更加灵活。随着社会发展、科研管理等因素的变化,民族研究科研管理数据库检索系统也将不断发展,作为系统的设计完成者将会根据民族研究科研管理数据的更新、用户需求的变化等,对系统不断更新完善。

关键词:Hibernate;数据库;信息系统

中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2018)05-0085-02

1 引言(概述)

数据库中间件Hibernate的使用,可以实现对关系型数据库对象化,大大提高SQL的使用和JDBC与数据库效率[1]。数据库中间件Hibernate框架技术,提供临时数据缓存供应用者查询,分一级数据和二级数据缓存,明显提高查询速度。本文在分析Hibernate框架技术的基础上,展开探讨这一技术在民族研究科研管理数据库检索系统开发中的应用。

2 Hibernate简介

Hibernate作为数据库与界面之间的桥梁,需要面向对象思想操纵对象。对象可能是普通的JavaBeans/POJO。應用程序通过抽象将应用从底层事务隔离开。使用底层的API或Transaction对象完成轻量级框架提供一级缓存和二级缓存。Hibernate直接提供相关支持,底层驱动可以随意切换数据库,快速简洁。使业务层与具体数据库分开,只针对Hibernate 进行开发,完成数据和对象的持久化。针对不同的数据库形成不同的SQL 查询语句,降低数据库之间迁移的成本。Hibernate支持多种缓存机制,Hibernate适配MS SQLSERVER、ORACLE、SQL、H2、Access和Mysql等多种数据库[2]。Hibernate用反射机制实现持久化对象操作,实现与IDE(Integrated Development Environment)的耦合度[3]。

Hibernate使用数据库和配置信息为应用程序提供持久化服务。从配置文件中读取数据库相关参数,将持久化类和数据表对应使用。用Hibernate API对象持久化,利用映像信息将持久化操作翻译为SQL语句进行查询。

Hibernate框架技术最关键是数据持久化,是将数据保存到持久层的过程。持久层的数据在掉电后也不会丢失的数据。持久层是基于Hibernate技术的检索系统开发的基本。系统结构的层次模型有如图的三个阶段[4]如图1。

整个过程首先实现应用层和数据层。数据层保存持久化数据,应用层接收输入的数据。然后通过MVC 模式实现业务逻辑与表示层的分开。表示层和用户实现交互,业务逻辑层处理数据持久化操作。将第二阶段业务逻辑层的功能部署拆分后,业务逻辑层完成核心业务逻辑处理,持久层完成对象持久化。降低业务逻辑层复杂度的同时将数据持久化让其他组件完成[5]。

民族研究科研管理数据库检索系统选择用Spring+Hibernate+ Bootstrap(SHB) 框架实现的检索系统即是实现分层体系结构的轻量级J2EE框架。显示层采用Bootstrap MVC框架,中间用Spring,后台采用Hibernate。分别实现三层次功能。持久层技术与其他部分有较为清晰严格的区分,提供数据持久化方案。

3 Hibernate技术在民族研究科研管理数据库检索系统中的应用

Spring+Hibenate Web框架在保持了J2EE优势的同时,简化了Web 的开发。Hibernate搜索通过设置和通用的API提供全文检索支持。民族研究科研管理数据库检索系统选择使用Spring+ Hibenate Web框架完成开发。

需要提高系统查询速度,需要多个数据库之间的交叉查询,生成多个临时数据库作为桥梁。数据库中间件Hibernate框架可以不管是使用底层的API还是使用Transaction对象,没有侵入性,移植性好,提供双极缓存。

Hibernate在系统中用底层驱动完成随意切换数据库,选用mysql数据库和Spring集成使用。使用JPA组件完成数据库表生成与修改。利用POI组件链接Excel,读取内容与上传文件进行匹配,进行批量输入文献,先生成临时数据库后生产成果分值统计计算功能。

3.1 系统持久层使用 Hibernate技术实现O/R映射

“持久层”负责数据存储、数据检索和更新。使用JDBC实体 Beans和JDO等建立。Hibernate实现对象和关系映射和数据的持久化。Hibernate的查询语言HQL与SQL一样查询持久化对象,管理Java类到数据库表的映射,提供数据查询和获取数据的方法。

Hibernate首先将普通的Java对象定义成持久化类。再通过 ORM在数据库和类的对象之间建立映射,通过数据库接口访问数据。

3.2 Hibernate的配置

Hibernate持久化需要用配置文件完成数据库连接。配置文件一种是Hibernate.cfg.xml,另一种是Java属性文件。两种都可以提高应用程序的可维护性。Hibernate配置文件除驱动配置信息外包含持久化类映射文件。XML格式的配置文件可直接声明映射文件,无需调用Configuration类的addClass方法加载映射文件,提高应用程序的可维护性[6]。

完成持久层,先持久化域对象。各种映射包括many to many、many to one、one to one、one to many等。在民族研究科研管理数据库检索系统中的项目管理模块定义了T_TOPIC_PROJECT表的映射类TopicProject。使用Spring+Hibernate进行配置。

民族研究科研管理数据库检索系统在完成开发设计实现过程中使用Hibernate数据库中间件技术为该系统实现的关键技术路线难点及主要创新点在于成果计分分类统计模块。

我们使用Hibernate技术根据期工作原理将成果库每一条成果的计分数据相关参数,将持久化类和数据表对应进行对象持久化,利用映像对应于SQL语句进行查询。利用POI组件链接Excel,进行批量输入文献,先生成临时数据库后生产成果分值统计计算功能。最后达到计分可以按照个人、部门或者时间段分类统计查询。

民族研究科研管理数据库检索系统是中国社会科学院民族学与人类学研究所在社科院级强化科研管理的大背景要求下,做好网络信息化工作的同时,强化所级科研管理,积极调用所级多年网络信息化工作技术人员,根据所级科研管理崗的具体要求,在大数据背景纵使下,研究Mysql数据库、Hibernate数据库框架、Solr全文检索技术Tomcat中间件等多项关键技术,开发出的具有自主知识产权的科研管理数据库检索系统。在整个开发完成过程中Hibernate数据库框架技术起到至关重要的作用。解决了传统的并发访问控制低问题,简化开发过程,使系统具有更好的可扩展性和良好的可维护性。总结出以下几点经验:

(1)数据库表较多表结构复杂时使用Hibernate优势明显。

(2)查询要求不高或访问数据量不大时,考虑Hibernate比JDBC更有优势。

(3)Hibernate配置文件和持久化类的映射文件需要随着Hibernate的更新同步更新。

4 结语

本文通过民族研究科研管理数据库检索系统案例的实现成功结果证实Hibernate数据库框架技术完成间接对于关系型数据库检索的可行性。很好的弥补了对于关系型数据库难以直接检索的困难。采用Hibernate框架,使系统的开发更加规范,安装和部署更加灵活。此系统的实际应用说明该系统表现出良好的性能。必将成为数据库检索系统的一个有力的解决方案。

当然任何一个系统都有可能在运行过程中出新的问题,随着社会发展、科研管理等因素的变化,民族研究科研管理数据库检索系统也将不断发展,作为系统的设计完成者将会根据民族研究科研管理数据的更新、用户需求的变化等,对系统不断更新完善。在民族研究科研管理数据库检索系统进行完善的分析与处理。在该系统应用的基础上,继续研究进一步探索数据库检索多库检索机制、MVC框架,Hibernate和tomcat技术。

参考文献

[1]张燕,冷文浩,周斌.基于Struts、Spring和Hibernate的船舶性能系统的设计与实现[J].计算机工程与设计,2008,(8):2121-2124.

[2]杨飞,袁建华.Hibernate 框架在权限管理系统中的应用[J].微电子学与计算机,2007,(2):206-208.

[3]钱忠胜.基于Hibernate 的数据持久化研究及其应用[J].微计算机信息(管控一体化),2007,(6):242-245.

[4]陈正举.基于 HIBERNATE 的数据库访问优化[J].计算机应用与软件,2012,(7):144-149.

[5]夏赟,李志蜀.基于Hibernate框架的数据持久化层的研究及其应用[J].计算机应用,2008,(9):2446-2449.

[6]夏赟,李志蜀.基于Hibernate框架的数据持久化层的研究及其应用[J].计算机应用,2008,(9):2446-2449.

猜你喜欢

信息系统数据库
企业信息系统安全防护
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
企业综合节能信息系统SciMES
高速公路信息系统维护知识库的建立和应用
基于SG-I6000的信息系统运检自动化诊断实践