1.單錶繼承:即每棵類繼承樹使用乙個表。
(1)類繼承樹對應多個類,多個類的資訊儲存於一張表中,那麼如何區分某條記錄屬於哪個類?
採用的機制是在表中新增乙個字段,用字段的值來進行區分。
(2)配置檔案如下:
...........
說明如下:
a:父類採用標籤定義
b:在父類中定義乙個discriminator,即指定用於區分欄位的名稱和型別
c:子類使用標籤,name屬性指明子類的路徑,discriminator-value屬性指定用於區分該類欄位的值。
子類的屬性也是用加以標識。
d:與可以平行,但需要指定繼承的名稱,較繁瑣,所以使用包含的形式。
另外:多型查詢:即在hibernate載入資料的時候能夠鑑別出真正的型別。
(1)get方式支援多型查詢,因為get不支援lazy策略,所以不生成**類。
(2)load預設情況下是支援lazy的,所以不支援多型查詢,當lazy設定為false時,才支援多型查詢。
(3)hql支援多型查詢。
每棵繼承樹對映成一張表
每棵繼承樹對映成一張表 1 理解如何對映 因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬於哪個類的。這種機制就是,在表中新增乙個字段,用這個欄位的值來進行區分。用hibernate實現這種策略的時候,有如下步驟 父類用普通的標籤定義 在父類中定義乙個d...
Hibernate教程02 類繼承(單錶繼承)
hibernate教程 02 類繼承 單錶繼承 一 簡介 單錶繼承,每棵類繼承樹使用一張表 所有的類使用乙個表 父類 animal 和子類 pig bird 只生成一張表,該表中包括了父類和子類的所有屬性,因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬...
繼承與多型(一) 使用繼承擴充套件類
enum breed class mammal mammal int newage,int newweight age newage weight newweight mammal int getage void setage int newage int getweight void setwei...