华南俳烁实业有限公司

考試首頁(yè) | 考試用書(shū) | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
全國(guó)  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級(jí) > 二級(jí)考試 > Java語(yǔ)言程序設(shè)計(jì) > 考試輔導(dǎo) > 文章內(nèi)容
  

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Java重點(diǎn)內(nèi)容(55)

中華IT學(xué)院   【 】  [ 2016年11月21日 ]

1.在映射對(duì)象之間建立一對(duì)多關(guān)系one-to-many

  1)在一的一方的類(lèi)中添加集合屬性Set

  2)在一的一方的映射文件中添加映射

   

   

  3)使用時(shí),通過(guò)對(duì)象的getXXX方法獲取

 

2.在映射對(duì)象之間建立多對(duì)一關(guān)系many-to-one

   1)在多的一方的類(lèi)中添加一方類(lèi)型的屬性去掉關(guān)聯(lián)字段的屬性

   2)在多的一方的映射文件中添加映射

         column="user_id">

     去掉原有關(guān)聯(lián)字段的映射

   3)使用時(shí),通過(guò)對(duì)象的getXXX方法獲取

 

3.關(guān)系使用時(shí)的技巧

  1)在hbm.xml中利用fetch屬性指定抓取方式

    a.fetch="join"

      采用join表連接方式抓取相關(guān)對(duì)象.

    b.fetch="select"(默認(rèn))

      采用單獨(dú)發(fā)送一個(gè)SQL語(yǔ)句的方式查詢(xún)相關(guān)對(duì)象.

    注意:在實(shí)際開(kāi)發(fā)中,不推薦在hbm.xml中利用fetch屬性控制.推薦使用HQL+join fetch方式.參考TestAddress.java的testFetch()方法

   2)cascade級(jí)聯(lián)操作

    對(duì)主對(duì)象操作時(shí),相關(guān)聯(lián)的對(duì)象屬性也執(zhí)行相同操作.

    在hbm.xml中為關(guān)聯(lián)屬性添加cascade,可以指定

    cascade="save-update":當(dāng)對(duì)主對(duì)象執(zhí)行save和update操作時(shí),相關(guān)聯(lián)的對(duì)象屬性也執(zhí)行save和update操作

    cascade="delete":當(dāng)對(duì)主對(duì)象刪除時(shí),相關(guān)聯(lián)的對(duì)象屬性也執(zhí)行刪除

    cascade="all":對(duì)save,update,delete操作都支持

   注意:級(jí)聯(lián)刪除執(zhí)行的是n+1個(gè)delete語(yǔ)句,如果遇到n比較大時(shí),不推薦使用級(jí)聯(lián),推薦使用刪除的HQL.

      "delete from Address where userId=30"

  3)inverse關(guān)系控制

   inverse主要用于指定兩個(gè)對(duì)象的關(guān)系由哪一方來(lái)負(fù)責(zé)維護(hù).其實(shí)就是使用update語(yǔ)句更新user_id字段的值.默認(rèn)情況下,Hibernate認(rèn)為關(guān)系維護(hù)雙方負(fù)責(zé).

   為了程序效率,將關(guān)系維護(hù)工作交給多的一方處理.即在元素中添加inverse="true"

  4)formula子查詢(xún)映射

    將一個(gè)子查詢(xún)結(jié)果,映射到一個(gè)屬性上.參考User.hbm.xml

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營(yíng)業(yè)執(zhí)照
依兰县| 晴隆县| 宁远县| 邯郸县| 岱山县| 哈尔滨市| 涟水县| 额济纳旗| 达拉特旗| 乃东县| 尼玛县| 昆明市| 上林县| 武义县| 舒城县| 夏河县| 伊川县| 阿瓦提县| 安陆市| 宜兰县| 潍坊市| 泾川县| 合水县| 九江市| 泌阳县| 淅川县| 沙洋县| 南丹县| 尼玛县| 柳州市| 隆昌县| 青海省| 民乐县| 安岳县| 福清市| 乐亭县| 花莲县| 金山区| 常德市| 油尖旺区| 岳阳县|