对CMP应正确看待,难道真的一无是处?

03-09-03 Horser
浏览完论坛上的帖子,感觉很多大侠对CMP的使用在观点上都存在偏颇,这对后来者和J2EE新手纯粹就是误导。在我看来,系统规模不大或中等的情况下,使用合适的IDE进行EJB2.0版的CMP开发,效率高,代码质量好,运行稳定,对速度的影响也没有象有些人描述的那样恐怖。我不清楚为什么大家都一窝蜂似的抛弃CMP而转投一些五花八门的持久性方案。
         

Horser
2003-09-03 08:55
是为了使系统结构精益求精,还是为了显示技术实现与众不同?可能本人经验浅薄,能力和认知有限,直到现在也没碰到过Schema设计中有非常复杂的多对多、甚至只对某个字段的映射情况,我想如果有人碰到这种情况的话,多半是因为系统分析没做细致,数据库表结构也没经过优化到BNF3。我认为现在流行的AppServer中,各厂商对CMP的实现都还可以,在性能调优方面,在灵活性设置方面,我实在感觉不到那些JDO实现方案或Hibernate有什么明显的优势。

bruce
2003-09-03 09:08
别人说的并不重要,重要的是自已两者都去试一下,对比对比,看哪一种更适合你。我个人感觉, 跟其它O/R Mapping 比, CMP还需要很多地方要完善, 但绝不是你说的一无是处。

bruce
2003-09-03 09:44
另外,我也不得不承认很多人在使用CMP并没有考虑到CMP的粒度问题,毕竟CMP由于效率问题的限制,只支持粗粒度的Object,而Hibernate等,他们可以支持粗细两种。

所以大家使用CMP时,请一定正确使用粒度问题,在这一点上,还请Banq 赐教.我还没有开始研究petstore的代码, 垦请Banq具体说一下, 例如: 一张表与一个CMP对应 不好的话,应如何去重构呢?谢谢!

bruce
2003-09-03 10:17
如果用AggregatEntity/DependentObject, 来解决以上问题,原理有点象VO, 进行抽象封装,但是如果我调aggregatEntity中的Setter方法, 它会调各个DependentObject中的Setter方法,我不太明白的是,各个DependentObject中的Setter方法如何实现,不会是BMP或是JDBC SQL吧?

如果不是,那是如何实现的呢?

猜你喜欢
11Go 1 2 3 4 ... 11 下一页