JPA實體關聯 hibernate實現

2021-09-02 08:47:05 字數 2675 閱讀 8025

一對一關係對映分為單向一對一和多向一對一。在配置關係時必須確立控制方和被控制方。單向和雙向的區別為看主控方和被控方兩邊是否都配置了@onetoone,如果都有為雙向一對一,反之為單向。

雙向一對一關聯有兩條規則:

/**

* person屬於關係維護方

* */

@entity

@table(name="t_one_person")

public class person

/**

* 為關係被維持方

* */

@entity

@table(name="t_one_idcard")

public class idcard

junit測試:

public class testjpa 

@test

public void add()

/*** 關閉entitymanage***ctory

*/@after

public void after()

}}

在jpa規範中:

1<--->m 多的一方位關係維護端,關係維護端負責外來鍵記錄的更新.關係被維護端是沒有權利更新外來鍵字段的.

/**

*關係被維護方

*/@entity

@table(name="t_order")

public class order

/**

* *關係維護方

*在jpa規範中:

* 1<--->m 多的一方位關係維護端,關係維護端負責外來鍵記錄的更新.關係被維護端是沒有權利更新外來鍵字段的.

*/@entity

@table(name="t_orderitem")

public class orderitem ,fetch=fetchtype.eager,optional=false)

@joincolumn(name="order_id")

private order order;

//省略get/set方法..

}

junit測試:

public class testjpa 

@test

public void add()

/*** 關閉entitymanage***ctory

*/@after

public void after()

}}

使用之間表,分為兩個一對多

@entity

@table(name="t_many_student")

public class student

/***

* 解除老師和學生的關係

* */

public void removeteacher(teacher teacher)

} //省略get/set方法...

}@entity

@table(name="t_many_teacher")

public class teacher

junit測試:

public class testjpa 

/***

* 新增老師和學生

* */

@test

public void add()

/***

* 建立老師和學生的關係

* */

@test

public void buildts()

/***

* 解除老師和學生的關係

* */

@test

public void deletets()

/***

*刪除老師

* */

@test

public void deleteteacher()

/***

*刪除學生

* */

@test

public void deletestudent()

/*** 關閉entitymanage***ctory

*/@after

public void after()

}}

/**

* 復合主鍵必須要實現serializable,無參構造,必須重寫hashcode,equals.

* @author hh

* */

@embeddable//用於實體裡面的時候,告訴jpa實現產品只使用這個復合主鍵類的屬性

public class airlinepk implements serializable

@entity

public class airline

junit測試:

public class testjpa 

@test

public void add()

/*** 關閉entitymanage***ctory

*/@after

public void after()

}}

JPA實體關聯關係對映之概述

一 簡介 首先來說關聯關係是物件導向分析,物件導向設計最重要的部分,jpa是完全可以通過對映來簡化資料持久化到資料,和 hibernate 一樣,jpa 的關聯關係也分為兩種,一種是單向關聯,一種是雙向關聯 單向關聯 只需要單向訪問關聯端,比如說 我們只能通過某一學期訪問這學期的課程,而不能通過課程...

JPA實體註解

entity name entityname 必須,name為可選,對應資料庫中一的個表 table name catalog schema 可選,通常和 entity配合使用,只能標註在實體的class定義處,表示實體對應的資料庫表的資訊 name 可選,表示表的名稱。預設地,表名和實體名稱一致,...

JPA實體註解

jpa實體註解用例專案位址 參考部落格 關係的擁有方 即many的一方 負責關係的維護,在擁有方建立外來鍵會用到joincolumn。列舉使用manytoone進行實體註解,如建立乙個分類樹形結構的實體。當前實體中manytoone與onetomany對應的實體都是本身 author lx enti...