社区
Web 开发
帖子详情
J2EE 中使用EntityBean和JDO各有什么优点缺点
c1978
2004-09-22 03:52:51
J2EE 中使用EntityBean和JDO各有什么优点缺点
...全文
96
4
打赏
收藏
J2EE 中使用EntityBean和JDO各有什么优点缺点
J2EE 中使用EntityBean和JDO各有什么优点缺点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yabbi21
2004-09-22
打赏
举报
回复
相比entity bean,
JDO的优点是:
1)设计简单。
2)细粒度控制,允许开发人员对整个持久性进程进行完全控制,包括高速缓存、持久性、并发性和同步等。
3)编码简单。JDO 体系结构向开发人员隐藏了低级别的持久性细节。
4)JDO 并不仅仅使 Java 对象持久;它还透明地处理整个相关对象图的持久性。因此,当实例被持久存储时,它所维护的对其它对象实例的任何内部引用也都被持久存储(除非它们已被声明为瞬态)。JDO 还存储类型层次结构的完整信息,并能根据类型(父类和接口)实现请求,而不是只了解持久实例的特定局部类型。
学以致远~
2004-09-22
打赏
举报
回复
学习。。。
yabbi21
2004-09-22
打赏
举报
回复
实体 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)资源占用过高,总是会消耗掉大量的服务器资源。
viano
2004-09-22
打赏
举报
回复
EntityBean
1.实际的应用中我们很少用到EntityBean,如果用到了,只是用它update和insert。检索完全用jdbc自己来拼sql文查询。EntityBean作为一个长期存在于server中的对象,占用了很多资源,而一个企业级的应用,除了DB操作外,还有更多的逻辑处理。并且,有的应用数据库十分复杂,用EntityBean不一定全部能够解决。检索要求的是速度快,完全符合逻辑业务的要求,对于一些特殊的复杂的查询无法用EntityBean实现。对于开发人员,不是每个人都有比要弄清楚 EntityBean的原理,但每个人都清楚SQL的语法,所以从开发效率上讲,弃用EntityBean也是有好处的。
2.在SessionBean中,最好引用petstore中相关的设计模式,大量的业务逻辑在SessionBean中实现,涉及到DB操作时则调用DAO层,这样,简化了SessionBean,在项目的后期维护时,你会发现很方便快捷。
JDO 不知道!
J2EE
中
用
Entity
Bea
n和
JDO
的优
缺点
分析
本文主要对比分析了两种常见的持久化机制:
Entity
Bea
n和Java Data Objects (
JDO
)。
Entity
Bea
n作为
J2EE
的一部分,提供了一种标准的方式来处理数据的持久化,而
JDO
则提供了一种面向对象的持久化解决方案。 首先,...
J2ee
中
的数据存取
Java持久化技术的发展历程
中
,从早期的TopLink、CocoBase、ODMG,到
Entity
Bea
n、
JDO
,再到Hibernate、iBATIS,以及后来的EJB3和Java Persistence API (JPA),ORM解决方案逐渐成熟和完善。每种技术都有其特点和适用...
java持久层框架对比
它可以应用于各种
使用
JDBC的场景,并且在
J2EE
架构
中
可以替代CMP进行数据持久化。 - **
优点
**: - 数据库无关性好,O/R映射能力强,可以大大简化持久层代码。 - 遵循OO编程思想,支持继承、多态等特性,有助于代码...
Web开发+java+ssh框架
三、Hibernate不能用来直接和
Entity
Bea
n做对比,只有放在整个
J2EE
项目的框架
中
才能比较。并且即使是放在软件整体框架
中
来看,Hibernate也是做为JDBC的替代者出现的,而 不是
Entity
Bea
n的替代者出现的,让我再列一...
最新Java面试宝典pdf版
48、同步和异步有何异同,在什么情况下分别
使用
他们?举例说明。 32 49. 下面两个方法同步吗?(自己发明) 33 50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、...
Web 开发
81,115
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章