用ORM去处理实体间关系就那么好吗?

03-11-19 refactor
无论是cmp还是hibernate,都提供了实体间1:1,1:n,n:n关系的映射处理,但觉得如果只是从table->object而言,还是比较简单,而一旦要去映射这些实体间的关系,则比较复杂,不仅设置起来很麻烦,如果后面改起来也很容易出错。

我一直的做法都是自己程序控制这些实体关系的,ORM只是用了它从table到object这一部分,程序控制最主要就是灵活,而且共用性也高。

robbin
2003-11-19 20:19
你把一个ORM想简单了,那就是Hibernate。

refactor
2003-11-20 09:50
呵呵,如果按照“英雄”里面的台词,我是不是应该说,你也把一个东西想简单了,那就是“程序控制”。

只是说一点经历,也不知能不能算是经验吧。我一开始开发的是桌面系统,那时根本就没什么ORM,包括table<->object这一步,都要自己去做,更不用说那些主从关系等等。后面转到j2ee,用了cmp,也用了一些cmr,但发现原来那个处理主从关系的framework还是可以使用,当然有一些细节要改。现在cmp要换成hibernate(主要是看重它的动态query),原来那个framework还是一样的。

当然我对这样实现和采用hibernate提供的实现在性能上有多大的差别还没怎么研究,不过至少这里有一个优点,尤其就开发软件而言是最关键的,就是用成熟的技术,用成熟的代码,而且就算以后hibernate换成其他更好的ORM,那个framework照样能用。

猜你喜欢