分享
 
 
 

OOP和RDBMS不匹配,谁向谁妥协,还是找个和稀泥的?

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

OOP和RDBMS不匹配 OOP的面向对象理论和RDBMS所基于的关系理论本来就不是一回事,理论不同,不匹配是很正常的事情,主要有以下表现:

粒度 为了概念的清晰和责任的单一,对象的设计粒度比较细。比如,一个User对象包含一个Address对象,Address里面有country, city, street等属性。但是,为了性能等方面的考虑,数据库表的设计粒度相对较粗,就上例来讲,可能有一个只有User表,地址方面的country, city和street等只作为字段。

多态 多态是OO的特性,继承结构是很常见的,但是RDBMS则没有多态。

标识 就Java而言,对象标识是reference,一般判断对象是否相同是用equals()方法,而数据库表中的一行的标识是主键

关联 一个对象同其他对象发生关联,是通过持有其他对象的reference来表示,并且有方向,可以是单向,也可以是双向,可以一对一,一对多,多对多。RDBMS中的两个表关联是通过外键,并且只有一个方向,只能一对一或多对一,如果要多对多则需要加关系表了。

OOP和RDBMS的矛盾是在所难免的,就像两兄弟吵架,日子还是要过,我们的程序还是要写的。解决不匹配的问题,一般就下面三招:

向RDBMS妥协 这是最常见的了,既然你是“关系”数据库,那我不OO了还不成吗?数据库表结构建好了,我就围绕着这些个表编程。不管是直接上SQL还是用大量只包含数据的VO,总之,面向过程。好处是,容易理解,这样程序员最好找;不足嘛,技术上和业务上的重复代码都太多,难以维护,没有审美,只有疲劳。向OOP妥协,用面向对象数据库 这个不说了,我还没见过传说中的面向对象数据库,并且在可预见的将来继续看不见。用个和稀泥的作中介,安抚两方 该OOD/OOP咱还OO,该用关系数据库咱还用,找个ORM工具让两方各得其所。这也许是最好的解决方案了,就算不能解决全部的问题,能解决九成的问题,就大大的节省了我们的时间,并且大大的提高了系统的可维护性。谁都知道,Java世界里,ORM实事上的标准是Hibernate。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有