首页
学习
活动
专区
圈层
工具
发布

ORM继承
EN

Stack Overflow用户
提问于 2009-02-27 14:25:19
回答 4查看 4.6K关注 0票数 11

是否有人真的想要并使用ORM工具上的继承支持,如果是的话,您认为哪一种支持最好?

或者ORM继承是一个“天上的馅饼”的概念?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-02-27 14:34:59

我非常喜欢这个问题。我使用ORM工具(Toplink,现在是eclipselink,Hibernate)已经有一段时间了,我一直认为这是JPA文档中引用的,但我从来没有真正需要它。基本上,我的哲学是ORM只是为了防止您编写tedius代码来提取数据库的记录。这确实是一个巨大的时间节省,它可以防止你犯愚蠢的错误。当然,您可以用它做一些奇妙的事情,但是为什么不把它保存在控制器上(如果您遵循MVC),而不把它放在模型中呢?

票数 5
EN

Stack Overflow用户

发布于 2009-02-27 14:48:38

我在Hibernate中使用了继承(有些与Django一起使用),并且对它进行了很深的修改。

“组合高于继承”原则尤其适用于域类。虽然我同意在某些情况下继承在模型级别是有意义的,但在大多数情况下,继承会给您提供一个非常静态的域模型,其中一个对象将无法更改为另一个类。

我还发现,大多数开发人员不适应数据库级继承的概念,因此维护变得更加复杂。

最后,还有一些技术问题,比如Hibernate设置的代理将隐藏对象的actuall类。它使“实例”表现得目瞪口呆。当然,您可能会说“实例”是一种代码气味,也许这是另一个提示,表明组合可能是更好的解决方案.

票数 7
EN

Stack Overflow用户

发布于 2009-02-27 14:32:46

如果您指的是域类中的继承,那么我总是在NHibernate和/或ActiveRecord中使用它,它们支持三种映射策略:

  • http://nhibernate.info/doc/nh/en/#inheritance
  • http://old.castleproject.org/activerecord/documentation/trunk/usersguide/typehierarchy.html
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/594961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档