日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate 一对一关联关系

發(fā)布時(shí)間:2025/6/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate 一对一关联关系 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

雙向一對(duì)一關(guān)聯(lián)關(guān)系:

域模型:

  例如,部門只有一個(gè)部門經(jīng)理,一個(gè)經(jīng)理也只能管理一個(gè)部門。即,Department 中有一個(gè)Manager的引用,Manager 中又有一個(gè)Department 的引用。

關(guān)系數(shù)據(jù)模型:

  按照主鍵映射: 這種方式跟 多對(duì)一關(guān)聯(lián)關(guān)系非常相似,比如department 表有一個(gè)外鍵 MANAGER_ID 指向manager 表的ID, 此時(shí)Department 和 Manager 對(duì)應(yīng)的這兩張表是多對(duì)一的關(guān)聯(lián)關(guān)系,為了實(shí)現(xiàn)一對(duì)一的關(guān)聯(lián)關(guān)系,只要給 外鍵 MANAGER_ID 加上一個(gè)唯一約束,則可以實(shí)現(xiàn)一對(duì)一關(guān)聯(lián)關(guān)系。

    需要注意的問題:

    ①、保存:建議先保存沒有外鍵列的那一端的對(duì)象。

    ②、查詢:默認(rèn)情況下使用懶加載異常。

    ③、沒有外鍵的一端需要使用?one-to-one 元素,該元素使用property-ref 屬性指定使用 被關(guān)聯(lián)實(shí)體主鍵以外的字段作為關(guān)聯(lián)字段。

    ④、在查詢沒有外鍵關(guān)聯(lián)的一端對(duì)象的時(shí)候,使用左外連接一并查詢出其關(guān)聯(lián)的對(duì)象,并進(jìn)行初始化。

      也就是說(shuō):把懶加載屬性設(shè)為true 的時(shí)候,查詢 Manager 會(huì)一并把Department 查詢出來(lái),但是查詢Department 并不會(huì)把Manager對(duì)象查詢出來(lái)。

  按照外鍵映射:

    擁有外鍵的一端生成主鍵的方式要注意,不是使用 native ,而是使用 foreign

?

    示例:

    實(shí)體類按照主鍵映射的一樣,區(qū)別在于映射文件。這里將映射文件代碼貼出來(lái)。

Department類的映射文件

<class name="com.zcd.hibernate.oneToOnePrimary.Department" table="DEPARTMENT"><id name="id" type="java.lang.Integer"><column name="ID" /><generator class="foreign" > <!-- 生成主鍵的方式 --><param name="property">manager</param> <!-- 還要指定根據(jù)。。。 --></generator></id><property name="name" type="java.lang.String"><column name="NAME" /></property><one-to-one name="manager" class="com.zcd.hibernate.oneToOnePrimary.Manager" constrained="true"></one-to-one></class>

?

Manager的映射文件

<class name="com.zcd.hibernate.oneToOnePrimary.Manager" table="MANAGER"><id name="id" type="java.lang.Integer"><column name="ID" /><generator class="native" /></id><property name="name" type="java.lang.String"><column name="NAME" /></property><one-to-one name="department" class="com.zcd.hibernate.oneToOnePrimary.Department"></one-to-one></class>

不管先插入哪一個(gè)對(duì)象,都會(huì)先發(fā)送被拿主鍵來(lái)作為他人外鍵的那個(gè)對(duì)象的插入SQL語(yǔ)句,比如這里不管先插入Department 還是Manager,都會(huì)先發(fā)送插入Manager 的SQL語(yǔ)句。

?

?

有一個(gè)疑問:下面的代碼為什么會(huì)保存兩次 Manager 對(duì)象呢?

@Testpublic void testDepartmentAndManager(){Department department = new Department();department.setName("研發(fā)部");Manager manager = new Manager();manager.setName("BB");department.setManager(manager);manager.setDepartment(department);oneToOnePrimaryService.saveDepartment(department);oneToOnePrimaryService.saveManager(manager);}

?

Hibernate 一對(duì)一關(guān)聯(lián)關(guān)系,使用外鍵映射和使用主鍵映射的區(qū)別:

目前發(fā)現(xiàn)的一點(diǎn)區(qū)別如下,以后發(fā)現(xiàn)了在進(jìn)行添加。

?

?外鍵映射主鍵映射
生成主鍵方式

使用native

?

<generator class="native" />

?

使用foreign還有

<generator class="foreign" ><param name="property">company</param> </generator>

?

??使用many-to-one?加上unique屬性,另一端不需要修改,按自動(dòng)生成的使用?使用one-to-one,加上contrained="true"屬性,另一端不需要修改,按自動(dòng)生成的使用

轉(zhuǎn)載于:https://www.cnblogs.com/GooPolaris/p/7919416.html

總結(jié)

以上是生活随笔為你收集整理的Hibernate 一对一关联关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 综合免费视频 | 久久久欧洲| 日韩jizz | 天天躁日日躁狠狠躁 | 永久免费的网站入口 | 91免费视频播放 | 欧美一区二区免费 | 国产精品色片 | 日韩在线免费观看视频 | aa视频网站| 农村妇女愉情三级 | 国产一区二区三区成人 | 国产精品国产一区二区三区四区 | 免费黄色高清视频 | 国产精品午夜福利视频234区 | 久久丫精品久久丫 | 日本大胆裸体做爰视频 | 日韩精品1区2区 | 日韩一二区 | 91国产免费观看 | 尤物网址在线观看 | porn亚洲| 毛片视频免费播放 | 日本美女一级视频 | 制服丝袜成人动漫 | 狂野欧美 | 成人综合站 | 久久久久久久国产 | 免费中文字幕在线观看 | 韩国中文三级hd字幕 | 老子午夜影院 | 91美女网站| 色七七视频 | 91国产中文字幕 | 久久一卡二卡 | 青青草国产在线视频 | 久久久亚洲一区二区三区 | 国产熟妇搡bbbb搡bbbb搡 | 成人在线视频免费播放 | 男人午夜剧场 | 久久女女 | 成人自拍视频在线 | 丁香花电影免费播放电影 | 亚洲AV无码阿娇国产精品 | 极品少妇在线 | 中文字幕欲求不满 | 香蕉在线视频播放 | 污污av | 欧美色图网站 | 国产精品久久久久久在线观看 | 日韩欧美一 | 六月色丁香| 色播99| 午夜影院久久久 | 日本午夜啪啪 | 91久久精品无码一区二区 | 综合激情在线 | 亚洲欧洲在线观看 | 国产激情片| 欧美啪啪网站 | 黄网址在线观看 | 中国免费毛片 | 成人精品免费视频 | 99re6在线视频| 91碰在线视频 | 日老女人视频 | 色小说在线观看 | 国产又黄又硬又粗 | 在线欧美亚洲 | 成人精品一区二区 | 亚洲一级免费视频 | 福利小视频在线观看 | 特级黄色网| 国产精品久久久久久久久借妻 | www.99av | 亚洲九九色 | 亚洲视频网站在线观看 | 日韩精品极品视频在线观看免费 | 奇米精品一区二区三区在线观看一 | 91成人免费在线观看 | 91一区在线观看 | 99久久久国产精品无码网爆 | 国产亚洲视频一区 | 欧美专区综合 | 日韩精品偷拍 | av网站大全在线观看 | 国产又粗又猛又爽又黄91 | 91网址入口 | 国产成人啪免费观看软件 | 国产手机av在线 | 欧美一级片在线观看 | 伊人中文字幕在线观看 | 女生扒开腿让男生操 | 精品日本一区二区三区 | 天堂√8在线中文 | 中文字幕 亚洲一区 | av网址网站| 中文字幕av无码一区二区三区 | 中文字幕丰满孑伦无码专区 |