關於Hibernate的關聯對映

2022-08-20 06:42:13 字數 1745 閱讀 2762

何為關聯對映

由於資料庫的表與表之間存在的管理關係,可以分為一對一,一對多和多對多關聯,一般情況下,在資料庫設計中是通過表的外來鍵來建立各種關係的,在hibernate中則把資料庫表與表之間的關係資料對映成物件導向型的資料關係,即對映檔案中建立表之間的關聯,對錶的操作就轉換成了對類的物件的操作。

這裡介紹下一對多關聯

一對多關聯是資料庫中用的最多的,例如班級和學生之間的關係,教師與學生之間的關係,部門與職工的關係等。而hibernate就是通過這種有關聯的表,在對一方進行查詢時,可以通過查詢多方或者是通過一方查詢多方,這就是關聯對映。

例如 乙個班級有多個學生,而多個學生只能在乙個班,因此,我們可以用一對多來描述該問題。

首先 需要兩張表 分別是班級表department表和學生表user表

班級表department的結構

欄位名   資料型別   說明

學生表user的結構

接下來是外來鍵關係

到這裡 資料庫的表就建好了

現在需要啟動myeclipse新增對映檔案,首先新建乙個onetoomany專案,然後依次新增strust和hibernate支援(不會的童鞋可以去檢視如何新增strust和hibernate,有詳細步驟和說明的哦)

當我們新增好strust和hibernate支援後就是這樣

接下來就是開啟myeclipse的db browser 新增資料庫的對映檔案(不會的童鞋可以去檢視hibernate的新增)

接著找到我們剛才建立的資料庫開啟它找到dbo 開啟找到table 開啟用ctrl選中兩張表點選右鍵找到hibernate reverse engineering 新增hibernate如圖

然後點選finish

接著開啟新建立的專案 我的是onetomany下面的dao包,如圖 user表和department表的對映檔案user.hbm.xml和department.hbm.xml已經自動生成了

接下來我們需要編寫乙個測試類test來測試下

接下來在控制台上就可以看到結果了

還有容易被忽視的一點是在新增好對映檔案後 需要分別在user.hbm.xml和department.hbm.xml中手動新增 column="all" 如果所示

hibernate之關於一對多單向關聯對映

基於外來鍵的一對多關聯對映!一對多,group 組 對於person 人 乙個組可以有多個人 ok?hibernate主要有兩種配置方法,一種是annotations 一種是xml!下面是annotations的配置方法!group 類 entity table name t group publi...

關於hibernate的關聯

最近學習hibernate,不可避免的涉及到其中的關聯關係,弄得我很是頭大。鍥而不捨的查資料和指南,終於有了一點眉目,又怕以後忘掉,所以在這地方寫出來。重點寫配置檔案的兩個屬性 cascade和inverse。首先是cassade cascade表示關聯的層級之間的連鎖操作。例如在a.hbm.xml...

SSH之hibernate 1和n的關聯對映

關聯對映將關聯關係對映到資料庫中,所謂的關聯關係在物件模型中就是乙個或多個引用。那麼hibernate在載入的時候根據關係自動載入物件,不用再分步查詢。這裡介紹一對多和多對一的關聯對映。一 n 1 1 物件模型 關聯是有方向的,只能從user看到group,反過來看不到 根據uml知識,這裡的use...