中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hibernate一對多,多對一,多對多,一對一關系怎么實現

發布時間:2021-12-06 09:30:50 來源:億速云 閱讀:152 作者:iii 欄目:編程語言

這篇文章主要講解了“Hibernate一對多,多對一,多對多,一對一關系怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hibernate一對多,多對一,多對多,一對一關系怎么實現”吧!

本文中用到的三個實例化類分別為Customer(保存客戶基本信息),CustomerDetails(保存客戶詳細信息),CustomerBack(中間表,保存兩表之間的關聯)
對應的表功能同上.說明中的主表指Customer,子表指CustomerDetails,中間表指CustomerBack

一對多

﹤set name="CustomerDetails" table="customer_details" 
inverse="false" cascade="all" sort="unsorted" ﹥  
 ﹤key column="cust_Id"/﹥ 
﹤one to many class="com.hibernate.otm.CustomerDetails"/﹥ ﹤/set﹥

這段代碼是需要放在一對多中的主表配置中的

◆name:集合屬性的名稱(也可以理解為一對多中那個子屬性名)

◆table(可選,默認為屬性的名稱):集合表的名稱(可理解為一對多中子表的名稱)

◆inverse(可選,默認為false):標記這個集合作為雙向關聯關系中的方向的一端

◆cascade(可選:默認為none):讓操作級聯到子實體

◆sort(可選):指定集合的排序順序

其它如schema,lazy,order–by,where,outer–join,batch–size,access請參照有關書籍.

key 中的column=”cust_Id”,cust_Id并不是主表的字段,而是子表中保存主表的字段.
如主表主鍵為cust_Id,子表中為了保存主表的主鍵,也建一個cust_Id,key里的cust_Id就是指子表中的cust_Id.
one–to–many 中的class為一對多的子表實例類.

多對一

﹤many to one
    name="Customer"
    class="Customer"
    cascade="all"
    outer join="false"
    update="false"
    insert="false"
    column="cust_Id"
    not null="true"/﹥

多對一中,沒有像一對多的,而是直接用了many–to–one.這段代碼是需要放在多對一中的子表配置中的(即CustomerDetails的配置中)

◆outer–join:為外鏈接

◆update,insert:指定對應的字段是否在用于UPDATE和/或INSERT的SQL語句中包含.

◆column:關聯的字段名.(多對主類對應的字段名)

◆not–null:是否為null.

多對多

﹤set name="CustomerBack" table="customer_back" cascade="all"﹥ ﹤key column="cust_Id"/﹥ ﹤many to many class="CustomerDetails" column="custD_id"/﹥ ﹤/set﹥

多對多的配置與一對多有點類似.這段代碼放的位置也是與一對多的代碼放的位置一樣.
多對多關系中,多采用中間表來關聯兩個有多多關系的表的.如Customer與CustomerDetails存在多對多的關系,那么往往是用另外一個表如CustomerBack表來保存它們的關系的,也就是中間表.

◆name:屬性的名稱(可理解為中間表的名稱)

◆table:表的名稱(可理解為中間表的表名稱)

◆key 里的cust_Id,是指中間表的cust_Id,為了保存Customer與CustomerDetails的關系,中間表中分別建了cust_Id(Customer的主鍵)與custD_Id(CustomerDetails的主鍵)

◆many–to–many中的Class是指多對多中的另一個實例化類,column是指CustomerDetails與中間表關聯的字段名.這里是指中間表的

◆custD_Id,不能理解為CustomerDetails的主鍵.

一對一

﹤one to one name="CustomerDetails" class="CustomerDetails" cascade="all" /﹥
一對一的關系更簡單.
在Customer表的配置中放上這段代碼就行了.

◆name:屬性名稱

◆class:關聯的實例化類名

感謝各位的閱讀,以上就是“Hibernate一對多,多對一,多對多,一對一關系怎么實現”的內容了,經過本文的學習后,相信大家對Hibernate一對多,多對一,多對多,一對一關系怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁晋县| 千阳县| 安西县| 汽车| 习水县| 皋兰县| 大悟县| 泾阳县| 长沙市| 锡林郭勒盟| 新宾| 宝山区| 历史| 梅河口市| 遵化市| 响水县| 浦北县| 巴里| 大城县| 天门市| 炉霍县| 双江| 波密县| 大石桥市| 桦川县| 五原县| 新晃| 卓尼县| 商洛市| 肇庆市| 平远县| 锡林浩特市| 军事| 九龙坡区| 濉溪县| 桃园市| 滁州市| 岚皋县| 云林县| 鄂伦春自治旗| 张家川|