多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > SSH-Hibernate(二)―映射關系(下)

SSH-Hibernate(二)―映射關系(下)

來源:程序員人生   發布時間:2015-01-16 08:24:00 閱讀次數:3818次
    前面已講了1對1和1對多關系使用Hibernate的映照。還剩下多對多關聯和繼承映照沒有講,這篇博客是想把這兩個1塊都總結了。

多對多表關系

    關系型數據庫沒法直接表達多對多的關系,需要引入中間表之外鍵關聯的方式來表達。以下圖:


    多對多單向關聯映照

    單向多對多關聯映照,是在其中1端加入1個屬性保存另外一真個對象集合。而在另外一端則不需要。看到這里你可能會有疑問,這不是和1對多關聯1樣嗎?我們以在Categories1端作為持有者來看。

看到這個類圖確切是和1對多關聯里的單向映照方式沒有區分。我們接著再看它的配置方式:
<class name="Category" table="t_category"> <id name="category_id"> <generator class="native"/> </id> <property name="category_name"/> <set name="items" table="t_catetory_item"> <key column="item_id"/> <many-to-many class="Item" column="item_id"/> </set> </class> <class name="Item" table="t_item"> <id name="item_id"> <generator class="native"/> </id> <property name="item_basePrice"/> </class>

    從配置方式里可以看見和1對多關系映照的區分在于:對應了中間表t_category_item。也就是說category持有的item不是直接持有,而是通過了中間的關系去對應持有的對象有甚么。而1對多關聯由于其中1端來講是唯1的,則可以直接持有。

    多對多雙向關聯

     雙向關聯就是兩端都持有對方,看過了1對多的雙向和前面的單向多對多應當很容易理解了。這里就不再多說,看看類圖和配置吧。
         
<class name="Category" table="t_category"> <id name="category_id"> <generator class="native"/> </id> <property name="category_name"/> <set name="items" table="t_catetory_item"> <key column="item_id"/> <many-to-many class="Item" column="item_id"/> </set> </class> <class name="Item" table="t_item"> <id name="item_id"> <generator class="native"/> </id> <property name="item_basePrice"/> <set name="categories" table="t_catetory_item"> <key column="category_id"/> <many-to-many class="Item" column="category_id"/> </set> </class>

繼承映照

    繼承關系的映照呢看上去和之前的好像很不同,這里為了幫助理解需要說明1點。之前我們討論映照關系都是從關系型數據庫的角度動身,以類之間的關系去表達數據之間的關系。這在理解上沒有甚么問題,但是放在繼承映照里就有問題了,由于數據庫中其實不存在繼承關系。所以,我們要換個角度了,以關系型數據庫來表達類的繼承關系。我們先看類圖:

    3種映照方式

  • 使用 subclass 進行映照:將每個實體對象映照到1個獨立的表中,也就是說不用在關系數據模型中斟酌繼承關系和多態。 
  • 使用 joined-subclass 進行映照: 對繼承關系中的子類使用同1個表,這就需要在數據庫表中增加額外的辨別子類類型的字段。 
  • 使用  union-subclass 進行映照:每一個類映照到1個表,通過關系數據模型中的外鍵來描寫表之間的繼承關系。這也就相當于依照類的結構來建立數據庫中的表,并通過外鍵來建立表之間的繼承關系。

    這里就不寫如何配置了,太長了。
    總結:映照關系的學習到了這里就告1段落了,總結以下:
          第1,關系映照的動身點應當是:如何在關系型數據庫中表達,類之間的關系。使關系型數據庫對象化。
          第2,所有的映照關系的本質都是:在哪個對象里作為屬性保存有另外一個的對象或對象集合
          第3,對數據的訪問的方向是:誰持有誰就是訪問入口
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 波多野结衣视频在线观看 | 大学生一级一片第一次免费 | 欧美日韩在线观看免费 | 亚洲国产精品尤物yw在线观看 | 欧美亚洲图区 | 可以免费看黄色的网站 | 欧美一级欧美三级 | 国产综合免费视频 | 亚洲成在人线久久综合 | 亚洲天堂免费在线视频 | 欧美亚洲视频在线观看 | 亚洲一区二区三区四区五区六区 | 69久久| 99国产国人青青视频在线观看 | 国内精品久久国产大陆 | 亚洲人成依人成综合网 | 亚州视频一区二区 | 日韩一区二区久久久久久 | 免费欧美一级 | 校园 春色 欧美 另类 小说 | 中文字幕一区二区三 | 日韩欧美一区二区在线观看 | 成人网在线视频 | 美国一级毛片片aa久久综合 | 欧美激情亚洲精品日韩1区2区 | 欧美一区二区三区日韩免费播 | 青青草原手机在线视频 | 欧美jizzhd欧美巨大 | 看亚洲人配人配人种jizz | 国产高清在线视频一区二区三区 | 真性中出 | xxxxx古代性xxxx| 超乳w真性中出し冲田杏梨101 | freexx美国1819xx| 成人欧美一区二区三区小说 | 国产精品日韩一区二区三区 | 国产人做人爱视频精品 | 中文在线视频观看 | 中文字幕乱码一区三区免费 | 国产成人综合网亚洲欧美在线 | 涩涩视频www在线观看入口 |