本例模仿的是每個子類對映一張表, 父類不對應表(2張表),以動物,猴子,貓為例,只須將animal.hbm.xml和animal類檔案簡單修改即可,其他參考檔案請參照我的上篇文章《hibernate中繼承對映配置詳細解析(三)》,下面是需要改動的檔案
1.animal.hbm.xml
<?xml version="1.0"?>
abstract="true" 指定實體類物件不對應表,即在資料庫段不生成表
-->
2.animal
package cn.itcast.e_extends4;
//動物類
public class animal
public void setid(string id)
public string getname()
public void setname(string name)
}
因為主鍵不能為自增長,所以將其主鍵設定為隨機獲取,因為是乙個字串序列,所以將animal類檔案中的id改為string型別
總結:所有的子類都寫到乙個對映檔案;
父類不對應表; 每個子類對應一張表
Hibernate 繼承對映
繼承對映是將乙個繼承體系對映到資料庫表裡面,繼承實現的三種策略 單錶繼承,每顆類繼承樹使用一張表 一張表 具體表繼承,每個子類一張表 三張表,animal pig bird 類表繼承,每個具體類一張表 兩張表,策略描述 單錶繼承,效率較高,只需查一張表就好,需要新增乙個標記欄位來標記是哪個子類,而且...
hibernate繼承對映
每棵繼承樹對映成一張表 因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬於哪個類的。這種機制就是,在表中新增乙個字段,用這個欄位的值來進行區分。用hibernate實現這種策略的時候,有如下步驟 父類用普通的標籤定義 在父類中定義乙個discrimina...
Hibernate 繼承關係對映
繼承關係對映 繼承是物件導向程式設計中乙個很重要的特徵,在做物件導向的分析與設計時,經常會設計出具體繼承關聯對映的持久化類。如何把這些持久化類之間的繼承關係對映到關聯式資料庫上的問題已解決。繼承在物件模型中是is a的關係,但在關係模型中,實體之間只有has a的關係,也就是說,繼承在物件模型和關係...