现在流行的web框架多如牛毛,随之而来的讨论也是与日俱增。说说 我们项目采用的架构[Struts + Spring + Hibernate ](目前很流行的一种架构选择),之前在网上有些人讨论,关于VO 与 PO 的问题(也许你们的名字有些不同,但意思一样),<o:p></o:p>
这里所谓的VO:指用于表现层的相对于PO的数据传输对象<o:p></o:p>
这里所谓的PO:指用于持久层的,和数据库对应的数据传说对象。<o:p></o:p>
<o:p> </o:p>
我在之前写过一篇"DTO模型带来的好处"文章,其中就介绍了,我们在写程序的时候应该分层,毕竟我们的目标就是低耦合高内聚呀。然后在不同的架构中,他更有不同的需要,在应用hibernate的项目中,对于vo和po是不是可以以一个对象的身份取代2者的回答是,不可以,绝对不可以。为什么这样说呢,因为,Hibernate有它自己的持久层用法;<o:p></o:p>
有状态的javabean,也就是这个对象在hibernate自己的session已被记录<o:p></o:p>
比如说<o:p></o:p>
GradeChangePO po = (GradeChangePO)getObject(GradeChangePO.class,oid);<o:p></o:p>
我们通过这中或是其他方式从数据库中,获得一个持久层对象,表面看起来就是一个javabean,但其实,它是有状态的,这一点很重要,如果在代码中,因为某些需要,改变了po的属性值,比如 po.setName("test"); 那么即使就这样结束了这个方法,那么它也会自动更新该po所对应数据库记录。甚至不需要我们显示调用saveOrUpdateObject(po);就可以更新。如果你用的从数据库中获取的po,然后po.setOid(....);如果我们在调用 gradeChangeDAO.deleteObject(poObject);时就会提示你正在删除session中已存在的对象具有不同oid对象异常。<o:p></o:p>
<o:p> </o:p>
所以,这种情况下,分层更加重要,通常的是<o:p></o:p>
action 层 /service 层 / dao层 ; 我要应该把和数据库的交互以都放在dao中,把一些业务及逻辑上的处理放在service中,<o:p></o:p>
至于po或vo的装换 如果其他的地方也需要最好单独封装一个转换类,如果其他地方不需要,在dao中写一个回调方法或内部私有类也不错。<o:p></o:p>
这样我们业务操作的总是vo,不会影响到po,然后再需要提交数据时将其转换为po(这个po通常是new出来的,没有状态),显示提交。<o:p></o:p>
<o:p></o:p>
分享到:
相关推荐
软件 分层体系 结软件 分层体系 结构 软件 分层体系构 软件 分层体系
分布式GIS分层体系结构模型的研究重点 分析ArcGIS分层体系结构及每层体系所涉及语言
数据分析精华案例-用户分层体系分析
开放系统互参考模型仅给出一个框架结构,并没有将其网络模型的每一层限定在统一的一种协议中,也没有给出协议的具体实现技术(即未完全定型),故又称“参考模型”,但它奠定了网络体系结构的基础,成为今天设计和...
利用网络和数据库技术,结合目前计算机硬件及其技术发展带来的价格普遍下降,互联网不断普及的有利优势,应用Web服务器、Java技术及SQL SERVER数据库系统组件,开发了基于B/S模式与C/S模式相结合的适合特定的系统程序。
与工程实践教程讲座主讲内容网络拓扑与分层体系.pptx
云计算分层体系结构研究.docx
与工程实践教程讲座(3)主讲内容网络拓扑与分层体系.pptx
分布式多层B/S架构克服了C/S结构和局域网为中心、系统难以扩展、维护成本高、软件移植性差等缺点,它把表示逻辑、业务逻辑、数据库等操作分离开来,各层相对独立。这种多层分布式计算模型适应了企业应用的发展要求,...
网络安全分层评价体系模型设计.pdf
在无需过多了解其他层次的基.础上,可以将某一层作为一个有机整体理解. 可以替换某一次的具体实现. 可以将层次间的依赖性减到最低...分层有利于标准化工作. 一旦构建好了某一层次,就可以用它为很多上层服务提供服务.
C#分层 C#分层思想 C#分层实例 C#分层项目 C#分层详解
第7章存储器分层体系结构 复习要点一、存储器概述和存储器芯片1. 熟悉随机存取存储器、顺序存取存储器、直接存取存储器、相联存储器、只读存储器、读写存储器、非易失
计算机网络安全分层评价防护体系的思考.pdf
核电企业管理人员分层分级课程体系构建研究,陈慧,孙运婷,为更好的实现核电企业战略目标和发展需要,提出构建核电管理人员分层分级课程体系的设想.首先,通过对核电企业总公司和各子公司管�
基于阶梯式入队背景下少先队员分层教育评价体系的构建研究.docx
SOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本.docxSOA-SSH分层架构的设计与应用word版本....
SOA-SSH分层架构的设计与应用word版本.pdfSOA-SSH分层架构的设计与应用word版本.pdfSOA-SSH分层架构的设计与应用word版本.pdfSOA-SSH分层架构的设计与应用word版本.pdfSOA-SSH分层架构的设计与应用word版本.pdfSOA-...