快速业务通道

J2EE探险者: 持久数据管理,第2部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
持所有这些方案。

与 PersistenceManager 交互的 JDO API 很简单且非常直观。开发人员通过调用 makePersistent() 方法使对象持久。而且,这个方法特征符被重载,从而允许将各种对象类型视为持久对象(单个对象、对象数组或对象集合)。检索对象同样很简单。 getObjectById() 方法使用由开发人员确定的唯一值(类似于主键)来区别对象实例。JDO 还支持基于类型的查询,这些查询能基于指定的类型(即,实现公共接口的子类和类)检索单个对象或对象集合。与 JDBC 类似,JDO 支持基本的事务性控件: begin() 、 commit() 和 rollback() ,并能指出 PersistenceManager 实例应该采用乐观的还是悲观的事务管理方法。

J2EE探险者: 持久数据管理,第2部分(2)

时间:2011-01-31 IBM Kyle Gabhart

优点

作为组合技术解决方案,会话 bean 和 JDO 提供了许多优点,其中有些来自会话 bean,而其它的来自 JDO。正如我们上个月所了解的,使用会话 bean 而不使用实体 bean 进行交付的主要优点有两个:

设计简单。从体系结构设计的观点来看,直接通过会话 bean 来处理数据管理比使用实体 bean 简单得多。

细粒度控制。因为会话 bean 是通用的工作程序组件,所以它们允许开发人员对整个持久性进程进行完全控制,包括高速缓存、持久性、并发性和同步等。

这两个优点并不是会话 bean/JDO 组合所特有的:会话 bean 与 JDBC 的结对也存在这两个优点。但是,JDO 确实提供了一些独特的优点:

编码简单。JDO 体系结构向开发人员隐藏了低级别的持久性细节,从而使他们专注于从业务过程的角度管理对象,不至于陷入数据持久性逻辑的琐碎细节中。

提高的生产力。JDO 程序员能完全在面向对象的范例内操作。这通常会使开发更简洁、更平滑且更不易出错,因为程序员不用在关系的思想体系和面向对象的思想体系之间频繁地转换。

面向对象的持久性。JDO 的面向对象本质不仅提高了开发人员生产力,而且它还考虑到比关系持久性所提供的还要丰富的持久性机制。JDO 并不仅仅使 Java 对象持久;它还透明地处理整个相关对象图的持久性。因此,当实例被持久存储时,它所维护的对其它对象实例的任何内部引用也都被持久存储(除非它们已被声明为瞬态)。JDO 还存储类型层次结构的完整信息,并能根据类型(父类和接口)实现请求,而不是只了解持久实例的特定局部类型。

概括起来,将会话 bean 与 JDO 结合使用可以产生三个主要优点:简单(在设计和开发方面)、生产力以及增强了对数据持久性的控制。

缺点

从其优点来看,会话 bean 与 JDO 是完美的组合,可以解决所有持久性难题!但还是让我们考虑一下这种方法的一些缺点:

JDO 不成熟。JDO 还处于初期。到编写本文时,JDO 1.0 规范的发布还不到一年。其结果是,JDO 社区还非常小,最大且最具威望的 JDO 门户网站可以炫耀的也只是其会员有五千多一点。尽管这些数据并不表示 JDO 是一种差劲的技术,但它们确实表明它还处于前沿。几乎没有几家公司愿意尝试在业务级实现中使用 JDO。所有这些现状使 JDO 开发人员和架构设计师几乎没有已经实践证明的设计模式或案例研究来指导他们的 JDO 开发工作。

会话 bean 不是事务性的。J2EE 客户机不能直接访问 JDO 对象。必须由 servlet 或会话 bean 处理进入请求。因此,尽管很容易将 JDO 对象声明为事务性的,但仍必须使用非事务性组件来访问它们。在将事务语义直接编码到会话 bean 的应用程序代码中时,开发人员必须尽一切可能确保每个功能的业务规则、流程控制和事务完整性都得以保留并是容错的。尽管使用容器管理的事务可以极大地缓解这一问题,但是这样做限制了开发人员对持久性进程的控制,并除去了许多控制事务粒度所产生的体系结构上的灵活性。

概括起来,会话 bean

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号