我需要一些建議來建模我的數據表。我需要使用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