Hibernate對繼承關系的對應主要有三種策略: 對每個類對應一個表: 這樣在COMPANY一方不能設置SET屬性; 不能進行查詢,只能對每個類進行單獨的查詢! 容易在多對一的一方產生冗余數據。而且產生冗余字段(E.G Company <-- --> Employee) 只對父類設定對應的表: 在父類內設定子類區別字段, 對每個子類特有的字段, 在父類內中都存在。 這樣在父類的映射文件中,設定Domanatrator屬性, 用來制定SUBCLASS的TYPE, 子類有SUBCLASS TARGET 對應父類的DOMANATROTOR屬性, 并且制定自己的屬性。支持多態缺點是不能保證數據完整性, 因為對每一個子類單獨的字段, 父類的表必須允許其值為空。對父類和子類單獨見表, 用外鍵進行關聯: 用JOIN-SUBCLASS TARGET進行外鍵關聯, 并用KEY TARGET來指定關聯屬性。支持多態, 但查詢用到外連接, 不易性能。 SUMMARY: 對關系數據完整性要求較高用第一種方法, 子類的獨立字段不是很多用第二種方法, 否則用第三種方法。