1.課前準備
父類 car
public class car public void setid(int id) public string getname() public void setname(string name) }
子類benz
public class benz extends car public void setid(int id) public int getprice() public void setprice(int price) }
子類bwm
public class bwm extends car public void setid(int id) public int getspeed() public void setspeed(int speed) }
2.效果一:生成一張表
配置檔案如下
效果二:每個類生成一張表
配置檔案如下
//參照car的id
//參照car的id
效果三:每個子類生成一張表
需要注意:第三種無法自動使id自增,所以必須手動配置。
筆者推薦第三種方式 既避免了第一種的空欄位浪費,有避免的第二種的查詢不便。
複製搜尋 複製
搜尋 複製搜尋 複製
搜尋
Hibernate 繼承對映
繼承對映是將乙個繼承體系對映到資料庫表裡面,繼承實現的三種策略 單錶繼承,每顆類繼承樹使用一張表 一張表 具體表繼承,每個子類一張表 三張表,animal pig bird 類表繼承,每個具體類一張表 兩張表,策略描述 單錶繼承,效率較高,只需查一張表就好,需要新增乙個標記欄位來標記是哪個子類,而且...
hibernate繼承對映
每棵繼承樹對映成一張表 因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬於哪個類的。這種機制就是,在表中新增乙個字段,用這個欄位的值來進行區分。用hibernate實現這種策略的時候,有如下步驟 父類用普通的標籤定義 在父類中定義乙個discrimina...
Hibernate 繼承關係對映
繼承關係對映 繼承是物件導向程式設計中乙個很重要的特徵,在做物件導向的分析與設計時,經常會設計出具體繼承關聯對映的持久化類。如何把這些持久化類之間的繼承關係對映到關聯式資料庫上的問題已解決。繼承在物件模型中是is a的關係,但在關係模型中,實體之間只有has a的關係,也就是說,繼承在物件模型和關係...