我对实体BEAN的一些见解和疑问,请大家指点

03-07-14 baichenhong
我先说说我的一些理解,不知道正确与否,请大家讨论讨论
1:实体BEAN要解决的问题其实就是O/R映射问题
2:EJB1.1中所提倡的是粗粒度,在EJB2.0中则改成了细粒度
3:由于上一条的原因,在1.1为了增大粗粒度所提出的 复合实体 等模式在2.0中已没有使用的价值了
4:经过2.0的改良,用CMP的好处要大于BMP,所以提倡使用CMP
5:如果你相使用数据库的存贮过程的话,只能选择BMP
6:在CMP中为了优化和提高速度,避免过多的和数据库交互,可以采用 值对象模式
7:最后我要请教一下JDO,我没有了解过JDO,不过听说好像和ADO.NET差不多
谁能大概说说啊,谢谢各位

raynix
2003-07-14 15:13
说句你可能不爱听的,现在有很多人更愿意使用session bean + JDO/other O/R的结构。entity bean很慢,大概不是谣言。

baichenhong
2003-07-14 15:20
老兄,我没有不爱听啊,我是想请教一下我的看法是否正确,我也知道好多人都推崇JDO,我也正打算研究,不过目前正在研究实体Bean,老兄看看我的认识是否正确,求教了

Njord
2003-07-14 15:51
CSDN上sun2bin有一系列关于JDO的文章,可以去看看。

我看了一下,也做了例子,感觉JDO真的不错。
不过,JDO的应用还不多,具体的性能上每种实现的产品又没有一个好的报告。
所以我没选它,正在学习hibernate。

raynix
2003-07-14 15:51
我其实不会用entity bean,因为我会用session bean之后就很自然的开始学EB,不过在涉及foreign key的一些多表操作时感觉真是繁琐,还有一个什么必须声明为local interface的限制让我彻底放弃了EB。另外我觉得local interface本身就是鸡肋。

Njord
2003-07-14 15:53
CSDN上sun2bin有一系列关于JDO的文章,可以去看看。

我看了一下,也做了例子,感觉JDO真的不错。
不过,JDO的应用还不多,具体的性能上每种实现的产品又没有一个好的报告。
所以我没选它,正在学习hibernate。

baichenhong
2003-07-14 16:20
多谢个位老兄,我也一直以来听说实体Bean的性能不好,也正准备学习JDO等其他解决方案,大家有什么看法都可以说说,其实我水平很差的,还要向大家多学习

baichenhong
2003-07-14 16:23
最好在有人说说我对实体Bean的理解是否正确,谢谢

siberian
2003-07-14 16:43
我也觉得你的说法是对地。但是感觉现在有些人的态度很浮躁呀。一有人说不好,就跟风。至少我觉得现在的商业开发中用b/cmp是最稳妥地。
jdo之类的等等看吧。愿意学习地,抱点黑客精神。否则就不用浪费时间。把精力用在多学点稳定的地方效率更高。等成熟了再去摘果子。呵呵

baichenhong
2003-07-14 16:51
多谢老兄的指教,这里真的很不错啊,突然之间我发现java的世界就好比是大海,我所学的就像是大海中的水滴,java中好的东西太多了,不像微软那里那么狭窄,我在也不想回去搞微软的东西了

banq
2003-07-14 17:26
baichenhong 关于实体Bean理解我认为基本正确。

CMP性能不好是谣言,因为CMP是和容器相关很大,所以不同的J2EE服务器表现可能不一样,J2EE服务器和硬件有关系,在这么多因素下将CMP和BMP比较,是可能得出性能不一致的结果。

至少到今天我没发现关于CMP性能差的报告,CMP/BMP是众多商业J2EE服务器目前支持的唯一持久层技术。

曾经看到theseverside上采访大概是几个J2EE厂家,他们还是站立在CMP角度,对JDO没有立即行动。






raynix
2003-07-14 17:36
> /cmp是最稳妥地。
>

稳,确实稳。

baichenhong
2003-07-14 17:40
多谢站主的指点,因为我到目前为止还没有参与过EJB的项目(只参与过jsp/servlet/javabean的项目),其实我看EJB也有一年了,不过一直没有机会参与项目基本上都是自己看书看资料瞎琢磨的,所以好多东西都是一知半解,我正准备找个做EJB的公司实践一下。这里比csdn强多了。以后有问题还要向站主您多请教

iceant
2003-07-14 17:49
我其实不会用entity bean,因为我会用session bean之后就很自然的开始学EB,不过在涉及foreign key的一些多表操作时感觉真是繁琐,还有一个什么必须声明为local interface的限制让我彻底放弃了EB。另外我觉得local interface本身就是鸡肋。

我也认为 Local interface 是多此一举。实际上在 Container 里就可以实现相应的功能。像 OpenEJB 就不需要实现 Local Interface,因为它的内核就是支持这样功能的。只要是在同一个 jvm 内调用 EJB, 它会自动当做 Local EJB 来用,但是在不同的 jvm, 它就会按照 RemoteEJB 来处理。这是我喜欢 OpenEJB 的原因之一。

SUPERMY
2003-07-14 22:27
当然先把cmp学好再说。新技术层出不穷,会追的很累,除非你已经有相当的项目经验。最近,多看一些优秀的例程,看看weblogic server8.1 写的例程,进步很大。

2Go 1 2 下一页