亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

O/RMAPPING(Hibernate)方法小結

2019-11-18 11:36:29
字體:
來源:轉載
供稿:網友

  一.對象之間的關系:
  
  1.依靠:
  
  依靠對象通過調用被依靠對象的方法來獲得服務。一種比較松散的關系,并且是短期的。我們的過程與對象往往依靠于我們的實體域對象。如在struts的action中調用模型層的方法。
  
  2.關聯
  
  它使一個類指到另一個類的屬性。長期的
  
  3.聚合
  
  聚合關系是關聯關系的一種,是強的關聯關系。聚合是整體和部分之間的關系。
  
  4.組合
  
  也叫合成關系,組成關系是關聯關系的一種,是比聚合關系強的關系。對象負責代表部分的對象的生命周期。
  
  注:既然聚合,組合關系屬于關聯關系,那么如何區分一般關聯關系,聚合關系和組合關系呢?
  
  一般關聯:只要一個對象聯系到另外一個對象就形成了關聯關系。如:人和他的貓,黑豹樂隊和竇唯,PC機和顯示器。
  
  聚合關系:一種強關聯關系,它要求有部分和整體的關系,并且沒有了整體部分也可以獨立存在。在上面三個例子中人和它的貓顯然沒有部分和整體的關系,所以只能是一般的關聯關系。而黑豹樂隊和竇唯,竇唯等人組成了黑豹樂隊即:竇唯和黑豹是整體和部分的關系。
  
  而竇唯脫離了黑豹(早就離開了)更或者黑豹不存在了那么竇唯仍然可以以音樂人的身份存在(即對象仍然可以獨立存在)所以它屬于聚合關系。組成關系是可以共享的。(竇唯也可以加入其他樂隊)。
  
  組合關系:一種更強的整體和部分的關系。它并且要求代表整體的對象負責代表部分的對象的生命周期,組成關系是不能共享的。如:PC機和顯示器的關系。
  
  我覺得:假如兩個實體是整體和部分的關系,那么它們到底是聚合還是組合,這取決于你的需求。比如說:PC機和顯示器的關系,假如你的系統中,顯示器脫離了PC機就不存在意義了,也可以說:所有顯示器的訪問都是通過PC機進行的,那么你可以把關系設定為組合(如你在為一個只買品牌機的代理商作系統你可能是可以這么作的)。
  
  假如你的顯示器脫離的PC機仍然可以獨立存在,也就是說在系統中可以直接訪問顯示器對象,那么你可以將關系設為聚合(如你在為一個買散件的代理商作系統你可能是可以這么作的)
  
  5.繼續
  
  這個我不想多講了,用過面向對象的語言都應該知道。
  
  二.關系數據庫的關系
  
  一對一
  
  一對多
  
  多對一
  
  多對多
  
  三.o/r mapping策略
  
  1.繼續:
  
  對于繼續關系一般有三種策略:
  
  策略1繼續樹的每個類對應一個表
  
  <joined-subclass >//共享主鍵
  
  策略2繼續樹的根類對應一個表
  
  <discriminator ><subclass >//需要添加一個識別字段
  
  策略3繼續樹的葉子類對應一個表,不支持多態查詢
  
  2.關聯
  
  2.1 一對一
  
  一半有兩種策略:
  
  策略1:唯一的外鍵
  
  <many-to-one>+unique="true" (唯一的外鍵)
  <one-to-one>
  
  策略2:共享主鍵
  
  <one-to-one>
  <one-to-one><constrained="true"> //既是主鍵又是外鍵
  
  注重:生成方式需要用:foreign
  
  2.2 一對多(無需多說)
  
  2.3 多對一(無需多說)
  
  2.4 多對多
  
  策略1:A,B表多對多的關系需要引入C表。
  
  C表中的所有屬性即為主鍵又為外鍵分別參照A,B兩表。
  
  C表中不可以有其他屬性
  
  策略2:將多對多拆分成兩個一對多:
  
  A,B對象多對多的關系需要引入C對象。使得A,B兩對象與C對象的關系為一對多。對應數據庫中:A,B表多對多的關系需要引入C表。A,B兩表與C表的關系為一對多。
  
  C表又自己的主鍵
  
  C表中又非主鍵的外鍵分別參照A,B兩表。
  
  C表中不可以有其他屬性
  
  如;學生 ,課程為多對多的關系 那么引入學生選課。
  
  注重:策略1和策略2的不同在于:策略2引入了新的對象而策略1沒有。這是因為這樣:策略1的c表不能又自己的東西。而策略2有。
  
  2.5 其他
  
  上面說過:聚合與組成是關聯的一種所以他們也符合以上策略。
  
  非凡的:當用到組合關系的是否我們可用用到hibernate的"組件"
  
  <component>
  
  由于"組件"它完全可以滿足組成關系的強關聯。
  
  3.依靠
  
  一般不在實體域對象中體現。
  
  O/R MAPPING (HIBERNATE)方法小結 (補充內容):
  
  另外我看到了一種"鍵關聯"的方法,感覺很有道理。我理解了一下總結如下:
  
  1.一般關聯:
  
  這種方法對于一般的關聯總是引入c表(另外的一張表)僅僅表示關系。
  
  C表的主鍵有分別指向A,B兩表(外鍵)。當指向一方的外鍵unique="true"即唯一,那么這一方為"一",反之為"多"的一方。這樣就可以形成一般的關聯關系。但是注重的是:c表不映射為對象。C表也沒有自己的屬性。
  
  2.聚合和組成
  
  當實體A的非主鍵列中有一個引自實體B的時候,這種關系是B聚合A。假如這種引用是強制性的,則是合成關系,否則為聚合關系。是否為強制性,只需要將引用列設為非空即可;
  
  3.繼續
  
  當實體A的主鍵引用自實體B的時候(即為外鍵),那么A繼續 B。
  
  總結:我覺得O/RM的方法有很多,我們可以看到"按外鍵"的方法思路很清楚。但是它在解決一般的關聯的時候總是引入另外一張表這樣勢必影響效率。另外,既然聚合和組合是關聯的一種那么即使是組合關系我也把它看成一般關聯,也不算錯的。
  
  關系數據庫一開始就不是為了面向對象的語言服務的,所以我們在這里映射無論那種方法似乎都不能說是完全的,正確無誤完成了O/RM。所以我覺得一切都要看我們的項目需求。因地制宜!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性欧美亚洲xxxx乳在线观看| 国产欧洲精品视频| 国产伊人精品在线| 日韩精品极品毛片系列视频| 亚洲成人a级网| 欧美性黄网官网| 欧美激情videos| 91久久综合亚洲鲁鲁五月天| 97在线看免费观看视频在线观看| 日韩精品在线观| 亚洲黄色片网站| 97精品一区二区视频在线观看| 亚洲成avwww人| 91久久综合亚洲鲁鲁五月天| 久久精品视频一| 亚洲国产天堂久久国产91| 日本亚洲欧洲色α| 97在线观看视频国产| 欧美在线性爱视频| 欧美日韩国产中字| 久热爱精品视频线路一| 黑人巨大精品欧美一区二区一视频| 久久视频在线观看免费| 国产精品揄拍500视频| 深夜福利91大全| 热99精品只有里视频精品| 欧美日韩在线另类| 一区国产精品视频| 国产精品一区二区久久久久| 精品久久久久国产| 中文字幕日韩欧美在线视频| 国产精品美女视频网站| 久久国产精品久久精品| 日本三级韩国三级久久| www.亚洲成人| 成人黄色生活片| 欧美成人全部免费| 亚洲区一区二区| 曰本色欧美视频在线| 97香蕉久久超级碰碰高清版| 欧美伊久线香蕉线新在线| 亚洲国产精品视频在线观看| 亚洲精品视频播放| 亚洲精品免费网站| 91精品视频大全| 久久伊人免费视频| 日韩欧美在线国产| 欧美激情亚洲一区| 日本三级韩国三级久久| 欧美自拍视频在线观看| 午夜精品一区二区三区视频免费看| 国产日韩精品在线| 亚洲人成网站在线播| 国产精品美女www| 日韩av最新在线观看| 欧美电影在线观看网站| 中文字幕久热精品视频在线| 一本久久综合亚洲鲁鲁| 久久99热这里只有精品国产| 亚洲精品国产福利| 亚洲一区二区福利| 成人在线一区二区| 久久97久久97精品免视看| 欧美高清在线视频观看不卡| 日韩精品免费观看| 日韩欧美在线一区| 欧美激情亚洲激情| 国产亚洲aⅴaaaaaa毛片| 亚洲影影院av| 黄网动漫久久久| 日本高清不卡的在线| 国外成人性视频| 色偷偷888欧美精品久久久| 一区二区中文字幕| 国产精品久久久av| 亚洲伊人第一页| 91国产精品视频在线| 亚洲日本成人网| 欧美国产在线电影| 国产精品一区二区久久精品| 久久久精品在线| 5252色成人免费视频| 午夜精品美女自拍福到在线| 福利微拍一区二区| 国产精品电影在线观看| 亚洲片av在线| 欧美午夜激情小视频| 国产精品99一区| 57pao精品| 日韩av资源在线播放| 亚洲欧美在线一区二区| 久久躁日日躁aaaaxxxx| 亚洲美女黄色片| 欧美香蕉大胸在线视频观看| 日韩精品视频三区| 自拍偷拍亚洲欧美| 亚洲视频在线观看免费| 日韩精品黄色网| 国产色视频一区| 欧美日韩一二三四五区| 国产精品日韩久久久久| 91精品国产99| 亚洲视频在线免费观看| 国产视频精品久久久| 日韩欧美中文在线| 美女国内精品自产拍在线播放| 成年人精品视频| 日韩av免费看网站| 国产成人一区二| 992tv在线成人免费观看| 久久久久成人精品| 成人高清视频观看www| 亚洲男子天堂网| 成人免费观看网址| 国产午夜精品一区理论片飘花| 91午夜在线播放| 亚洲国产小视频| 全球成人中文在线| 国产不卡在线观看| 欧美视频一区二区三区…| 欧美日韩黄色大片| 午夜精品一区二区三区在线视| 一区二区三区www| 久久电影一区二区| 亚洲综合国产精品| 综合国产在线观看| 欧洲日韩成人av| 日韩欧美在线网址| 国产精品一区二区三区毛片淫片| 中文字幕免费精品一区高清| 国产成人精品久久亚洲高清不卡| 国产精品国产三级国产aⅴ9色| 日韩中文在线中文网在线观看| 亚洲在线第一页| 91精品美女在线| 国产精品第一区| 日韩精品视频中文在线观看| 色综合色综合久久综合频道88| 国产精品视频中文字幕91| 久久成人精品电影| 欧美性极品少妇精品网站| 91中文精品字幕在线视频| 91国内在线视频| 91沈先生在线观看| 国产亚洲综合久久| 亚洲人成网站色ww在线| 黄网站色欧美视频| 98精品在线视频| 欧美成人激情视频免费观看| 久久久久久久久久久免费| 97色在线视频观看| 国内精品免费午夜毛片| 国产欧美中文字幕| 国产日韩欧美视频在线| 欧美精品久久久久久久免费观看| 日韩欧美中文字幕在线播放| 91中文字幕在线观看| 国产精品久久久久久久久久99| 日韩av影视综合网| 伊人久久久久久久久久久| 国产成人福利夜色影视| 国产日韩一区在线| 伊人成人开心激情综合网| 色偷偷av亚洲男人的天堂|