J2EE 中使用EntityBean和JDO各有什么优点缺点

j2ee

实体 bean:
提供健壮的数据持久性。bean 容器处理大部分的数据完整性、资源管理和并发性功能,从而使开发人员关注业务逻辑和数据处理,而不是这些低级细节。使用 bean 管理的持久性(Bean Managed Persistence,BMP)实体 bean 时,开发人员编写持久性代码而容器确定何时执行该代码。使用容器管理的持久性(Container Managed Persistence, CMP)实体 bean 时,容器生成持久性代码并管理持久性逻辑。

JDO: 只是提供面向对象的持久数据存储。开发人员使用 POJO(无格式普通 Java 对象,plain ordinary Java object)来装入和存储持久数据。

实体 bean 主要有下列优点:

1 )标准化。EJB 规范定义一组与供应商无关的接口,J2EE 供应商可以实现这些接口来支持实体 bean。这种标准化允许采用最佳实践的开发并缩短雇用新开发人员时的适应期。因为基本的组件体系结构和设计模式大家都知道,所以很容易找到合格的人才来实现它们。
2 )容器管理的服务。正如我们在本系列的前两篇文章中讨论的那样,EJB 容器管理的服务为处理诸如安全性、事务处理、连接合用和资源管理之类的企业功能提供了极大的好处。
3)透明持久性。CMP时容器能自动管理持久性语义。虽然使用 BMP 实体 bean 时,开发人员必须编写持久性逻辑,而容器则确定何时调用由开发人员定义的方法。同时使用 CMP 和 BMP 实体 bean 时,容器决定何时持续保持 bean 的状态以及如何确保与底层数据存储的数据完整性和并发性。
4)事务支持。开发人员对 CMP 事务(隔离级别、事务需求和方法的包含/排除)有粗粒度的控制权,对 BMP 事务有细粒度的控制权,这些控制都是通过在 bean 代码中以程序方式处理事务语义实现的。在这两种情况下,容器管理事务并确定是否应该提交给定的事务。
5)基于组件的设计。实体 bean 被设计成自包含组件,这些组件配置有部署描述符,无需更改任何代码就可以将它们部署到任何 J2EE 应用程序服务器。

总之,实体 bean的优点是可以从标准化和业界最佳实践中受益,简化了企业开发的某些复杂性
缺点则是:
1)设计复杂。
2)由于企业 bean 和(尤其是)实体 bean 的复杂性,所以一次迭代(设计/构建/测试/集成/测试/部署)所花的时间比其他 Java 持久性解决方案所花的时间可能长很多。
3)响应时间不理想
4)资源占用过高,总是会消耗掉大量的服务器资源。

相比entity bean,
JDO的优点是:

1)设计简单。
2)细粒度控制,允许开发人员对整个持久性进程进行完全控制,包括高速缓存、持久性、并发性和同步等。
3)编码简单。JDO 体系结构向开发人员隐藏了低级别的持久性细节。
4) JDO 并不仅仅使 Java 对象持久;它还透明地处理整个相关对象图的持久性。因此,当实例被持久存储时,它所维护的对其它对象实例的任何内部引用也都被持久存储(除非它们已被声明为瞬态)。JDO 还存储类型层次结构的完整信息,并能根据类型(父类和接口)实现请求,而不是只了解持久实例的特定局部类型。

时间: 2024-08-07 01:11:12

J2EE 中使用EntityBean和JDO各有什么优点缺点的相关文章

在J2EE中APPLET和HTML作为客户端的比较

j2ee|比较|客户端 前言 在j2ee中,客户端常用的两中方式是html,和基于application的applet,因为采用的技术不同,这两个方式都有其优缺点,在考虑采用何种技术(或者两种都用),需要根据两种技术的特点,以及此项目的应用范围来综合考虑.以下分"易用性","性能","维护,扩展","交互","安全"五部分来说明各自的特点,并针对客户,开发人员角色阐明一下个人观点. 易用性 客户对于易用性要

软件体系架构模式在J2EE中的应用

本文介绍了软件体系架构产生的背景和架构模式的基本理论.重点介绍管道与过滤器体系架构模式的结构,实现,优缺点等,然后以J2EE的Servlet Filter为例进行剖析它是怎样应用该架构模式的,最后简单阐述了在其它J2ee应用中(Jboss和Axis)的实践. 软件体系架构 1.软件体系架构产生背景 在经历60年代的软件危机之后,使人们开始重视软件工程的研究.来自不同应用领域的软件专家总结了大量的有价值的知识. 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法

javaweb开发工具有哪些?j2ee中那些技术规范较为主流?

问题描述 javaweb开发工具有哪些?j2ee中那些技术规范较为主流? 目前已下载jdk,tomcat,Dreamweaver,myeclipse.技术规范打算先学servlet,jsp. 解决方案 Eclipse IDE for Java EE Developers 254 MB.在eclipse官方下载http://download.eclipse.org/或者myeclipse.冉要Licence破解,相对好用一点.如果开发的话,还要安装以下插件:1.maven插件2.svn插件3.gi

j2ee 中如何是checkbox达到.net中的enble不可用的功能

问题描述 j2ee中如何是checkbox达到.net中的enble不可用的功能js方法或者属性都可以麻烦各位大虾了 解决方案 解决方案二:加上这个标签属性disabled="True"解决方案三:js方法可以再j2ee中使用,怀疑解决方案四:checkboxId.Enabled=false?

关于j2ee中json接收和发送的一些问题【新人】

问题描述 关于j2ee中json接收和发送的一些问题[新人] 1.由于不用http协议,服务器要怎样调用接收json的方法,想了半天只想出一个写一个main()的方法,而不是一个类 2.接收和发送json的方法是什么.谢谢各位大神了 新人刚刚学完servlet 解决方案 C/S的还是B/S的?B/S还有不用http的吗? 解决方案二: servlet中传送JSON串,应该也有一个关于JSON的包,调用其中的方法,把你的串穿进去,就到前台了

j2ee中遇到下面的错误提示,是启动服务器的时候报的错。求解

问题描述 j2ee中遇到下面的错误提示,是启动服务器的时候报的错.求解 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 17 in

J2EE中重量级框架和轻量级框架的异同

问题描述 请帮忙说说J2EE中重量级框架和轻量级框架的异同,分别简要说出他们的异同点!谢谢! 解决方案 解决方案二:从耦合度来区分他是什么类型的框架解决方案三:量级主要是看容器的依赖性所决定的,依赖性越小,越轻量.轻量级框架侧重于减小开发的复杂度,事务功能弱.不具备分布式处理能力.重量级框架EJB框架则强调高可伸缩性,适合与开发大型企业应用.解决方案四:理解下hibernate和ibatis就晓得啦,o(∩_∩)o...哈哈

急!怎样在j2ee中实现摄像头拍照上传?

问题描述 哪位知道怎样在j2ee中实现摄像头拍照上传?着急啊! 解决方案 解决方案二:光J2EE做不了这活,因为你需要有本地代码(exe/dll/ocx)来驱动摄像头.解决方案三:该回复于2011-04-29 09:15:29被版主删除解决方案四:拍照后把相片存在相应的位置然后使用文件上传不可以么?解决方案五:该回复于2011-04-29 09:39:40被版主删除解决方案六:该回复于2011-04-29 09:47:03被版主删除解决方案七:该回复于2011-04-29 09:32:45被版主

文章介绍:J2EE中的事务

翻译:J2EE中的事务<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />   译者: Tnk Luo   出处: http://www.redbooks.ibm.com/redpieces/abstracts/redp3659.html   事务(Transactions)在开发企业应用系统中占有很关键的位置,所以在这里推荐一篇很好的文章,希望对大家有些帮助.本人翻译的这篇