我需要一些建议来建模我的数据表。我需要使用SQL Server和Hibernate在我的表上应用继承层次结构。谁能给我看一个基本的例子?它也可以是网站上的教程。继承Hibernate
干杯......
我需要一些建议来建模我的数据表。我需要使用SQL Server和Hibernate在我的表上应用继承层次结构。谁能给我看一个基本的例子?它也可以是网站上的教程。继承Hibernate
干杯......
MS SQL Server不是面向对象的数据库,它是一个关系型数据库。这听起来像你应该在你的基表上使用视图而不是重复列。
复制列是不必要的,无疑会影响性能,维护将成为一场噩梦。
也许编辑你的问题,包括你想要实现的更多细节。
嘿!是的MS SQL不是面向对象的,但我需要一个基表。我有一张表Target,这个目标可以是一个组织或一个人。我不可能把它们放在一张普通的桌子上,我需要把它们放在不同的桌子上。能否与基表共享主键会对性能产生负面影响?感谢您的回复... – Pinchy 2011-06-15 11:33:28
另一种方法是在复制子表的属性,使父表的观点(即所有的孩子选择以共同属性)。
CREATE VIEW Parent
AS
SELECT ID, Name FROM Child1
UNION ALL
SELECT ID, Name FROM Child2 ...
这个问题可能是用的ID应该是唯一通过所有的子表(GUID的使用是preferrable)
继承和关系通常不顺利在一起。在设计数据库时,你*规范化*。 – gbn 2011-06-15 11:19:26
你不能在MS SQL中完成它,但是你可以使用像Hibernate(或NHibernate)这样的框架来完成继承工作。数据库中的基本继承实际上只是超类表和子类表之间的一对一关系。 – Zoidberg 2011-06-15 11:19:31
我也将使用hibernate。我不知道我将如何实现这一目标! – Pinchy 2011-06-15 11:37:17