Hibernate教程02 類繼承(單錶繼承)

2021-07-09 04:43:35 字數 2396 閱讀 6441

hibernate教程

02——類繼承(單錶繼承)

一、簡介

單錶繼承,每棵類繼承樹使用一張表(所有的類使用乙個表)

父類(animal)和子類(pig、bird)只生成一張表,該表中包括了父類和子類的所有屬性,

因為類繼承樹肯定是對應多個類,要把多個類的資訊存放在一張表中,必須有某種機制來區分哪些記錄是屬於哪個類的。這種機制就是,在表中新增乙個字段,用這個欄位的值來進行區分。

關於鑑別值(type)在儲存的時候hibernate會自動儲存,在載入的時候會根據鑑別值取得相關的物件

t_animal

idname

***weight

height

type

小豬truep小鳥

false

b二、annotation介紹

@entity

//宣告類繼承使用整個類層次使用一張表實現

@inheritance(strategy = inheritancetype.single_table)

//區分不同類的識別符號在資料庫中的列描述(名稱、型別、長度)

@discriminatorcolumn(name = "discriminator", discriminatortype = discriminatortype.string, length = 30)  

//區分不同類的識別符號

@discriminatorvalue("tree") 

三、建立父類tree

(使用和上面不一樣的類進行舉例)

@entity

@inheritance(strategy = inheritancetype.single_table)

@discriminatorcolumn(name = "discriminator", discriminatortype = discriminatortype.string, length = 30)

@discriminatorvalue("tree")

public class tree

public void setid(long id)

public string getname()

public void setname(string name)

public string getdescription()

public void setdescription(string description)

public tree getparent()

public void setparent(tree parent)

public listgetchildren()

public void setchildren(listchildren)

}

四、建立子類department

@entity

@discriminatorvalue("department")

public class department extends tree

public void setleader(string leader)

public string getsecondleader()

public void setsecondleader(string secondleader)

public string getlink()

public void setlink(string link)

public string getremarkk()

public void setremarkk(string remarkk)

五、建立子類menu

@entity

@discriminatorvalue("menu")

public class menu extends tree

public void setlink(string link)

public string getclassname()

public void setclassname(string classname)

}

六、建立測試類

@test

public void test02()

@test

public void test03()

七、資料庫的資料顯示

02 Hibernate的幾個類

使用無參configure方法,配置檔案必須在classpath的根目錄,檔名必須為hibernate.cfg.xml 可以按照指定的路徑載入指定的配置檔案 configuration configuration new configuration configuration.configure h...

Hibernate入門教程

以下幾篇部落格中,我將會按章節把hibernate詳細講解一遍,將包括以下內容 一 hibernate的簡單配置,單張表的增刪改查操作 二 hibernate的一對一單邊雙邊配置 以及增刪改查 三 hibernate的一對多單邊配置 以及增刪改查 四 hibernate的多對一單邊配置 以及增刪改查...

python怎麼繼承類 python類的繼承

一 概述 二 類的繼承 2.1 繼承的定義 2.2 建構函式的繼承 2.3 子類對父類方法的重寫 三 類繼承的事例 一 概述 物件導向程式設計 oop 語言的乙個主要功能就是 繼承 繼承是指這樣一種能力 它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴充套件。通過繼承建立...