免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2263 | 回复: 2
打印 上一主题 下一主题

关于Hibernate的继承映射和有序集合 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-22 11:29 |只看该作者 |倒序浏览

这是《精通Hibernate》上讲述关于映射继承关系时展示的一张图。
之后,指出了三种映射继承关系的方式:
1.继承关系的每个具体类对应一个表
2.继承关系的根类对应一个表
3.继承关系的每个类对应一个表
    我承认在程序中这种继承关系有一定的意义,但是我不想为了使用Hibernate的这个面向对象的特性而改变一贯的数据库设计方式,为什么为了程序的面向对象而让数据库多了许多的表,并且在查询的时候增加连接查询的次数呢??
    其实一张表就解决了,只要在这个表中加入员工类型的标识字段,在映射不同的子类的时候,只要添加一个where条件属性就可以了阿!
    还有,就是我不知道set有什么不好,似乎很多人对这个集合颇有微词。实际上,当使用了order by属性后,Hibernate将采用LinkedHashSet,这样可以保证结果集的迭代顺序,我觉得大多数情况下这就足够了。如果使用有序集合比如List,还要硬往表里插入表示位置的字段,我很难接受。
   
    不知道大家对此有什么看法,欢迎拿砖头拍我。

[ 本帖最后由 comliu 于 2006-8-22 11:36 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-08-22 23:07 |只看该作者
下个星期公司要培训hibernate,关注ing

论坛徽章:
0
3 [报告]
发表于 2006-08-24 11:22 |只看该作者
一直用Set,没什么不好~

关于继承映射,我认为是一种权衡问题跟习惯问题。多态跟复用在提升架构优雅性方面确实功不可没,但是也不是非他不可,数据库理论可以推算出一些很经典的数据库设计--尽管他们不符合oo的思想,这就应该随个人习惯了,当然还要根据应用环境等作出权衡。。。恩!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP