第章 對(duì)象關(guān)系映射_第1頁(yè)
第章 對(duì)象關(guān)系映射_第2頁(yè)
第章 對(duì)象關(guān)系映射_第3頁(yè)
第章 對(duì)象關(guān)系映射_第4頁(yè)
第章 對(duì)象關(guān)系映射_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

HibernateORM最佳實(shí)踐

第2章對(duì)象關(guān)系映射

回顧介紹應(yīng)用程序分層體系結(jié)構(gòu)ORM技術(shù)背景(數(shù)據(jù)庫(kù)操作、持久化、JDBC比較及ORM工具)Hibernate的環(huán)境配置及入門(mén)程序編寫(xiě)2目標(biāo)了解Hibernate的對(duì)象標(biāo)識(shí)符學(xué)習(xí)Hibernate的主鍵生成機(jī)制掌握Hibernate的映射類(lèi)型掌握對(duì)象繼承關(guān)系映射掌握關(guān)聯(lián)關(guān)系映射3對(duì)象標(biāo)識(shí)符Hibernate使用OID(ObjectIdentifier)來(lái)標(biāo)識(shí)對(duì)象的唯一性,它是關(guān)系數(shù)據(jù)庫(kù)中主鍵在Java對(duì)象模型中的等價(jià)物三個(gè)不同的OIDHibernate能夠識(shí)別三個(gè)不同的primaryKeyHibernate根據(jù)對(duì)象標(biāo)識(shí)符來(lái)維持Java對(duì)象和數(shù)據(jù)庫(kù)表中記錄的對(duì)應(yīng)關(guān)系問(wèn)題數(shù)據(jù)庫(kù)表中每條記錄PK值不同的,但是在Java中靠對(duì)象的內(nèi)存地址來(lái)識(shí)別的?4重寫(xiě)對(duì)象equals和hashCode方法Students1=newStudent(100,”TOM”,22);Students2=newStudent(100,“TOM”,22);Students3=s1;System.out.println(s1==s2);System.out.println(s1==s3);falsetrue重寫(xiě)equals()與hashCode()方法,不僅比較對(duì)象的地址,同時(shí)比較對(duì)象的具體內(nèi)容Hibernate區(qū)分對(duì)象實(shí)體,是與數(shù)據(jù)庫(kù)記錄一致的。5Hibernate對(duì)主鍵分類(lèi)兩種分類(lèi):①單個(gè)主鍵、復(fù)合主鍵②自然(業(yè)務(wù))主鍵、代理(邏輯)主鍵Hibernate內(nèi)置對(duì)象標(biāo)識(shí)符生成策略

6主鍵映射單個(gè)主鍵映射復(fù)合主鍵映射<classname=“Student”table=“student”><idname=“sid”column=“sno”type=“string”><generatorclass=“assigned”/></id>……</class>把組成主鍵的屬性組成一個(gè)類(lèi).7示例在映射表中:<composite-id>、<key-property>8Hibernate的映射類(lèi)型Hibernate連接Java對(duì)象和數(shù)據(jù)庫(kù)表,在映射表里,使用<property>及其他屬性標(biāo)簽時(shí),type屬性既不是Java數(shù)據(jù)類(lèi)型,也不是SQL數(shù)據(jù)類(lèi)型,而是使用Hibernate的映射類(lèi)型映射類(lèi)型分為:基本映射類(lèi)型和自定義映射類(lèi)型如果在映射文件中沒(méi)有指定映射的數(shù)據(jù)類(lèi)型,Hibernate通過(guò)反射機(jī)制查找屬性所在類(lèi)的類(lèi)型。9繼承糧關(guān)系夠映射Hi羞be地rn稈at什e提駱供3炕種繼吵承持賴久化遍策略屢:①每途個(gè)子脹類(lèi)一敏張表②每含個(gè)類(lèi)牌一張鼻表③共極享一躺個(gè)數(shù)苦據(jù)表St漲ud柴en惑tsi恩d:卡Lo睜ngsn院am吳e:茅St灰ri視ngUn串de酸rg更ra爺du之a(chǎn)t昏etu格to捎r:秤St謙ri莫ngGr回ad攀ua甘tegt容im叔e(cuò):臭da垃te10每個(gè)饒子類(lèi)獸一個(gè)包數(shù)據(jù)婆表將父充類(lèi)屬?gòu)d性分澆別加折入到買(mǎi)子類(lèi)溉中去裳,分街別對(duì)剃子類(lèi)課設(shè)計(jì)斃映射板文件絡(luò),針鏈對(duì)子鋼類(lèi)對(duì)巷象進(jìn)團(tuán)行操灣作,嗓不能卻使用培多態(tài)集進(jìn)行默OR勁M操告作。Un券de色rg鄭ra槐du傘at障eGr綱ad閃ua野tesi聯(lián)d:未Lo氏ngsn嬸am姻e:螞St薪ri瓜ngtu狂to梢r:姥St嗽ri風(fēng)ngsi堡d:漲Lo央ng(P畫(huà)K)sn蠶am御e:肚St臉ri勸nggt林im粥e:河da耗teTa忘bl嘗e:貍u愚nd聾er駁gr幸ad授ua焦teTa谷bl味e:盛g儀ra椅du順at舞e①設(shè)蘿計(jì)所計(jì)映射尺表②設(shè)丸計(jì)映餃射表斥:、類(lèi)(P流K)11每個(gè)衰類(lèi)一廊個(gè)數(shù)凈據(jù)表在父露類(lèi)映惜射表衛(wèi)中利綠用標(biāo)孔簽<闊jo現(xiàn)in氣ed凝-s繳ub扛cl蝴as釀s>定定義開(kāi)其子杰類(lèi)的白映射St怒ud蹤蝶en鴨tUn祥de賤rg芝ra柳du北at窩eGr順ad從ua條tesi諒d:禁Lo倦ng挽(撿PK超)sn搏am基e:擾St塑ri違ngus棄id魔:L宅on歪g(P岡K)tu組to做r:箱St菌ri渾nggs尖id夕:L茶on里g(P免K)gt鹽im嚇e:妹da剛te12示例下面究代碼斬展示拋?zhàn)宇?lèi)屑對(duì)象渴的持勢(shì)久化碑操作夕可由膠父類(lèi)壁對(duì)象良來(lái)完匙成!13代碼14共享至一個(gè)潤(rùn)數(shù)據(jù)捐表只定迎義一脅個(gè)父穩(wěn)類(lèi)表牢,在限父表照中包擾括子激類(lèi)屬歪性對(duì)直應(yīng)的崇字段慰,同吩時(shí)增合加一趨個(gè)區(qū)怒分子哨類(lèi)類(lèi)驗(yàn)型的鼻字段餃。在嗚父類(lèi)告映射敬表中盛,定侮義標(biāo)職簽<榜di險(xiǎn)sc串ri機(jī)mi非na其to妻r(nóng)>狡來(lái)描向述區(qū)包分子燃類(lèi)類(lèi)鼓型的織字段元,標(biāo)僚簽<陶su加bc燈la城ss災(zāi)>定概義子示類(lèi)的尿映射嫂。15示例下面藍(lán)代碼衣展示集子類(lèi)掏對(duì)象院的持窩久化攏操作癥可由嶺父類(lèi)廟對(duì)象馳來(lái)完惱成!16代碼1718關(guān)聯(lián)車(chē)關(guān)系壇映射使一被個(gè)類(lèi)招知道因另一忌個(gè)類(lèi)柱的存潤(rùn)在,滲表現(xiàn)蓄在數(shù)匹據(jù)庫(kù)始中,班通常浴用一電個(gè)外狗鍵字眠段關(guān)想聯(lián)到龜另一覺(jué)張表班。關(guān)圓聯(lián)關(guān)悼系是姓有方習(xí)向的謙,可監(jiān)以是揭單向局,或扒雙向侄的。Hi省be謙rn租at盤(pán)e提本供下系列檢幫索策婚略:①一虜對(duì)一局關(guān)聯(lián)芒<獄on灶e-滾to喊-o連ne涌>②一覺(jué)對(duì)多饅、多矮對(duì)一捉關(guān)聯(lián)副<o宵ne桌-t繞o-朽ma遼ny臣>禾<m便an勤y-鏡to枝-o東ne換>③多郵對(duì)多掌關(guān)聯(lián)慨<秒ma偽ny柱-t介o-獻(xiàn)ma湊ny恩>④組搬件映彩射鋤<c燭om閱po榜ne秋nt麗>19關(guān)系刊映射選(一榜)多對(duì)磚一關(guān)囑系/場(chǎng)一對(duì)咽多關(guān)咱系它們與是相倍對(duì)的貫關(guān)系慚,在瓦關(guān)系更映射凍表中批使用臣標(biāo)簽閣<m扒an緩y-夾to訊-o研ne提>或裙<o慘ne郊-t蛋o-徑ma領(lǐng)ny輝>來(lái)壟映射味關(guān)系拖.班級(jí)貍-學(xué)局生關(guān)守系tu姿ni倒tti扯d攀(P滴K)tn停am頸ets騙tu部de減ntsi停d(掏PK修)sn頌am淹eun滴it績(jī)_i金d(描FK寺)(單幕向關(guān)遼聯(lián))20代碼關(guān)聯(lián)21映射厭文件22代碼23配置24問(wèn)題①如圣中c屠as養(yǎng)ca縱de思=f樹(shù)al溉se盞,或感者c擔(dān)as慕ca摩de琴=a附ll悔,插捷入對(duì)收象Ts爭(zhēng)tu配de峽nt篇時(shí),屑情況并怎樣恐?②刪竄除對(duì)幟象t源st作ud軌en此t時(shí)侵,會(huì)污產(chǎn)生賤什么足情況罰(c奶as餃ca培de界=f匪al情se援,或燙者c肆as蘭ca眨de舒=a址ll管)?③為義什么扭說(shuō)它恰是單曉向關(guān)列聯(lián)?駐怎樣走變成田雙向醫(yī)關(guān)聯(lián)介?④如本刪除條對(duì)象雙tu另ni套t,限會(huì)刪繡除關(guān)棄聯(lián)的袋ts止tu溜de秋nt冷對(duì)象剝嗎?25雙向正多對(duì)免一關(guān)根聯(lián)增加凡Ts譽(yù)tu痛de胸nt酸的集嚇合類(lèi)文型26代碼向兩庫(kù)個(gè)關(guān)伐聯(lián)表缺插入之對(duì)象刪除泥對(duì)象祖,結(jié)旋果會(huì)具怎樣舍?27關(guān)系圾映射戒(二燦)一對(duì)漏一關(guān)毀聯(lián)當(dāng)對(duì)稅象之且間只端存在量唯一痛的一神對(duì)一村關(guān)系負(fù)時(shí),膏在映蟲(chóng)射表跑中使描用<應(yīng)on蝦e-妄to著-o蔽ne鏈>元島素來(lái)閱定義匹映射恐關(guān)系身份居證-處學(xué)生辰關(guān)系ID爭(zhēng)ca稈rdpi纏d(著PK艇)va桶l(fā)i及d_放da不test屆ud皂en禽t_浙in弄fosn碰o(己PK樓)sn耽am刺es_抵id腔(F鴨K)外鍵惹關(guān)聯(lián)28代碼29映射匠文件30代碼31關(guān)系兩映射題(三撿)多對(duì)廣多關(guān)鞭聯(lián)借助悠中間叢表來(lái)童完成按多對(duì)劍多關(guān)慚聯(lián)關(guān)爺系信狐息的焦保存蠅,在印映射充文件堵中使繪用<指ma精ny宮-t赴o-免ma中ny柴>標(biāo)感簽教師否-課追程關(guān)攝系te腰ac鼓he叛rTCsi即se筑_c唇ou篇rs證ete攪ac儉he天rI勒D(子PK黑)tn語(yǔ)am臺(tái)eci聚d(饅PK畝)cn算am萬(wàn)et_走id票+c秘_i旋d(張

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論