论文1718网和1718期刊网推荐的期刊均为正规期刊,都可在新闻出版总署网站查询到相关信息。本站合作的数千家期刊中,简化审稿流程,帮助客户选择最适合的正规期刊发表论文,以最快的速度达到客户最满意的效果。
手机:18863576778
QQ:925763962
公司网站:
www.lw1718.com 论文1718网
www.1718qikan.com 1718期刊网
www.qikan1718.com 期刊1718网
各专业论文发表 毕业论文 学术论文发表 国家级省级期刊发表
如何发表论文 经济论文发表 医学论文发表 代发表论文 职称论文发表网站
论文1718网和1718期刊网、期刊1718网,专业、权威、期刊发表网站。------博远文化传播有限公司
1.引言
近年来,在企业级应用开发过程中,面向对象的开发模式已经成为主流。目前在数据库的应用领域还是关系型数据库居主流地位,所以开发人员大都会采用面向对象的应用与关系数据库相结合的方式。
对象关系映射【1】是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。它是通过使用描述对象和数据库之间映射的元数据,将JAVA程序中的对象自动持久化到关系数据库中,本质上就是将数据从一种形式转换到另外一种形式。本文研究了基于Hibernate的对象关系映射技术,并基于该技术利用Struts实现了一个完整的客户关系管理系统。
2.对象/关系映射原理
对象/关系映射是把对象映射到数据库的技术,它把内存中的一个对象转化为关系型数据。对象/关系映射具有自我存储到关系数据库的能力,对对象的改变能够直接得以存储,而不考虑数据库存取代码[2]。
对象/关系映射包括对象的映射和对象之间关系的映射。对象之间的映射有如下几个规则:
① 属性类型映射成域
② 属性映射成列
③ 类映射成实体
3.系统框架体系结构
客户关系管理系统是通过采用信息技术,使企业市场营销、销售管理、客户服务和支持等经营流程信息化,实现客户资源有效利用的管理软件系统[3]。本系统采取基于MVC模式的Struts框架和对象/关系映射的持久化框架Hibernate实现。Web层应用Struts,降低各层之间的耦合度;数据持久层应用Hibernate,实现透明存储,提高开发效率。系统仍提供JDBC直接访问数据库机制,以满足应用中某些模块对效率的要求。
图1基于对象关系映射的CRM体系结构
3.1基于Hibernate实现持久层的关键技术
Hibernate处于数据库与应用程序之间,为应用程序提供持久化对象到数据库的服务。其中,持久化对象是生命期短促的单线程的对象,包含了持久化状态和商业功能,可能是普通的JavaBean/POJOS,唯一特别的是它们现在从属于且仅从属于一个Session,一旦Session被关闭,它们将取消联系,可以在任何程序层自由使用。
Hibernate实现了多种查询方式:对象化的查询封装模式criteria接口; Transaction接口为开发者提供了统一的事务操作界面;回调(callback)接口,允许应用程序在持久化对象被保存、更新、删除或加载操作之前,将其捕获并执行相应的处理(检查或修改其属性等);缓存接口:session级缓存(一级缓存)自动维护,无需手动设置;SessionFactory级缓存(二级缓存)为第三方提供了接入接口。
4 数据持久层在CRM系统中的应用与实现
CRM系统最重要的部分是客户订单模块。该模块主要实现订单的录入功能。系统中,订单录入由两种方式实现:数据库直接导入和人工录入。其中,系统为订单的数据库导入提供外部接口,通过导入程序自动完成;人工录入就需要从系统给定界面录入订单,这一部分充分体现了对象持久化在系统中的实现。如图2所示。
图2 客户订单模块基本类描述
本模块中最有代表性的持久化对象类为Order类:Customer类和Order类之间存在一对多关系,而Order类和Product类之间则存在多对多关系。以Customer.hbm.xml为例,一般id元素表示这个表的主键,对应的对象来说,它的id属性也就是它的唯一标识。property元素描述Java对象中的属性与一个表中字段的对应关系。Set元素用来描述对象之间一对多的关系,其中的inverse属性指定双方的主控关系,inverse="false"的一方为主控方。被动方的记录由Hibernate负责读取,之后存放在主控方指定的Collection类型属性中。
5总结
本文的创新点是利用对象/关系映射给出了客户关系管理系统的一个可行的MVC实现,讨论了系统中持久化对象的设计及实现。利用对象关系映射框架Hibernate,可以有效的进行数据库数据到业务对象的O/R映射,简化数据库操作,降低开发难度,使开发人员可以专心地实现业务逻辑而不用分心于繁琐的数据库方面的逻辑,是配合关系型数据库与面向对象开发语言开发企业应用的很好的选择。