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

