淺談hibernate中多表映射關(guān)系配置
1.one-to-many 一對多關(guān)系的映射配置(在一的一方實體映射文件中配置)
<!--
cascade屬性:級聯(lián)操作屬性
save-update: 級聯(lián)保存,保存客戶時,級聯(lián)保存客戶關(guān)聯(lián)的聯(lián)系人
delete:級聯(lián)刪除,刪除客戶時,級聯(lián)刪除客戶關(guān)聯(lián)的聯(lián)系人
all:級聯(lián)保存+級聯(lián)刪除
-->
<!--
inverse屬性:設(shè)置是否不維護關(guān)聯(lián)關(guān)系
true:不維護關(guān)聯(lián)
false(默認值):維護關(guān)聯(lián)
-->
<!-- 一對多 -->
<set name="linkMen" inverse="true" >
<!-- 外鍵列名 -->
<key column="lkm_cust_id" ></key>
<!-- 該集合是一對多關(guān)系表達,關(guān)聯(lián)的對象時linkman -->
<one-to-many class="LinkMan" />
</set>
一對多|多對一關(guān)系中,放置sql語句冗余.一般選擇一的一方放棄維護,inverse屬性設(shè)置為true.
2.many-to-one 多對一關(guān)系映射配置(在多的一方實體映射文件中配置)
<!--
cascade屬性:級聯(lián)操作屬性
save-update: 級聯(lián)保存,保存客戶時,級聯(lián)保存客戶關(guān)聯(lián)的聯(lián)系人
delete:級聯(lián)刪除,刪除客戶時,級聯(lián)刪除客戶關(guān)聯(lián)的聯(lián)系人
all:級聯(lián)保存+級聯(lián)刪除
-->
<!--
沒有inverse屬性:
外鍵列所在實體,無法放棄維護關(guān)聯(lián)關(guān)系.
-->
<!-- 多對一 -->
<many-to-one name="customer"
column="lkm_cust_id"
class="Customer" ></many-to-one>
3.many-to-many 多對多關(guān)系映射配置
<!-- 多對多關(guān)系配置
table:中間表表名
-->
<!--
inverse屬性:設(shè)置是否不維護關(guān)聯(lián)關(guān)系
true:不維護關(guān)聯(lián)
false(默認值):維護關(guān)聯(lián)
-->
<!--
cascade屬性:級聯(lián)操作屬性
save-update: 級聯(lián)保存,保存客戶時,級聯(lián)保存客戶關(guān)聯(lián)的聯(lián)系人
delete:級聯(lián)刪除,刪除客戶時,級聯(lián)刪除客戶關(guān)聯(lián)的聯(lián)系人
all: 級聯(lián)保存+級聯(lián)刪除
-->
<set name="roles" table="sys_user_role" >
<!-- 別人引用"我"的外鍵列名 -->
<key column="user_id" ></key>
<!-- 表達集合是多對多關(guān)系
class屬性:表達我與誰是多對多
column屬性:表達另外一個外鍵列名
-->
<many-to-many class="Role" column="role_id" ></many-to-many>
</set>
多對多關(guān)系中,選擇一方發(fā)起維護關(guān)系,放置中間表數(shù)據(jù)錄入重復(fù),根據(jù)業(yè)務(wù)邏輯決定,如商品和訂單是多對多關(guān)系,訂單維護商品放棄維護。
以上這篇淺談hibernate中多表映射關(guān)系配置就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java算法導(dǎo)論之FloydWarshall算法實現(xiàn)代碼
這篇文章主要介紹了算法導(dǎo)論之FloydWarshall算法實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
java idea如何根據(jù)請求路徑url自動找到對應(yīng)controller方法插件
這篇文章主要介紹了java idea如何根據(jù)請求路徑url自動找到對應(yīng)controller方法插件,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
詳解SimpleDateFormat的線程安全問題與解決方案
這篇文章主要介紹了SimpleDateFormat的線程安全問題與解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03
java中線程池最實用的創(chuàng)建與關(guān)閉指南
試中經(jīng)常會問到,創(chuàng)建一個線程池需要哪些參數(shù)啊,線程池的工作原理啊,卻很少會問到線程池如何安全關(guān)閉的,下面這篇文章主要給大家介紹了關(guān)于java中線程池最實用的創(chuàng)建與關(guān)閉的相關(guān)資料,需要的朋友可以參考下2021-09-09
Spring security實現(xiàn)對賬戶進行加密
這篇文章主要介紹了Spring security實現(xiàn)對賬戶進行加密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03
Hadoop+HBase+ZooKeeper分布式集群環(huán)境搭建步驟
這篇文章主要介紹了Hadoop+HBase+ZooKeeper分布式集群環(huán)境搭建,集群環(huán)境至少需要3個節(jié)點,1個Master,2個Slave,節(jié)點之間局域網(wǎng)連接,可以相互ping通,本文通過實例給大家介紹的非常詳細,需要的朋友可以參考下2022-04-04
Tomcat Cannot assign requested address: JVM_Bind 非端口占用沖突
這篇文章主要介紹了 Tomcat Cannot assign requested address: JVM_Bind 非端口占用沖突的相關(guān)資料,需要的朋友可以參考下2017-01-01

