hibernate 關聯關係 一對一 主鍵關聯

2021-06-25 15:51:34 字數 965 閱讀 5200

一對一關聯關係的使用

一對一關係在實際生活中是比較常見的,例如學生與學生證的關係,通過學生證可以找到學生。一對一關係在hibernate中的實現有兩種方式,分別是主鍵關聯和外來鍵關聯。

以主鍵關聯

主鍵關聯的重點是,關聯的兩個實體共享乙個主鍵值。例如,student與card是一對一關係,它們資料庫中對應的表分別是t_student與t_card。它們共用乙個主鍵值值id,這個主鍵可由t_student或t_card表生成。問題是如何讓另外一張表引用已經生成的主鍵值呢?例如,t_student表填入了主鍵id的值,t_card表如何引用它?這需要在hibernate的對映檔案中使用主鍵的foreign生成機制。

以下的db操作都是基於myeclipse自帶在derby資料庫

student1的表結構:

create table "classiccars"."student1"(

"id" bigint not null,

"name" varchar(20),

"card_id" bigint,

"***" varchar(5),

"age" bigint,

constraint "sql140913082545570" primary key ("id")

);card的表結構:

create table "classiccars"."card"(

"id" bigint,

"name" varchar(20)

);student1.hbm.xml

card.hbm.xml

student1 pojo

public class student1

hibernate 關聯關係 一對多 單向關聯

一對多關係很常見,例如父親和孩子 班級與學生的關係就是很好的一對多的關係。在實際編寫程式時,一對多關係有兩種實現方式 單向關聯和雙向關聯。單向的一對多關係只需在一方進行對映配置,而雙向的一對多需要在關聯的雙方進行對映配置。下面以group 班級 和student 學生 為例講解如何配置一對多的關係。...

Hibernate 一對多 關聯關係對映

維護關係為 一指向多的關係,在載入一的時候可將多的一端資料自動載入 班級和學生就是一對多的關係 單向關聯 學生端 name com.bjpowernode.hibernate.student table t student name id class native id name name clas...

Hibernate多對一及一對多關聯關係理解及區別

關聯關係的本質是將關聯關係對映到資料庫中。關聯關係在物件模型中體現為記憶體中的乙個或多個引用。一對多關係 一對多關係 分為 單向一對多 多對一關係 和 雙向多對一 關係。單向一對多 多對一關係 只需在 一 多 方進行配置,雙向多對一關係 需要在關聯雙方均加以配置。雙向多對一關聯就是在多方和一方都進行...