日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

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

來源:程序員人生   發布時間:2015-01-16 08:24:00 閱讀次數:3835次
    前面已講了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,對數據的訪問的方向是:誰持有誰就是訪問入口
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人区精品一区二区 | 日韩视频网站在线观看 | 亚洲日本中文 | 麻豆视频一区 | 波多野结衣的一级片 | 亚洲国产一区二区在线 | 成人av专区 | 国产成人av在线 | 国产在线导航 | 99精品视频一区二区三区 | 男女超级黄aaa大片免费 | 久久免费av | 日本99| 不卡在线一区 | 亚洲欧美一区二区三区国产精品 | 日韩三级电影在线观看 | 男女精品视频 | 亚洲图片一区二区 | 国产午夜精品久久久 | 99久久国产综合精品女不卡 | 亚洲高清成人 | 日韩中文字幕在线播放 | 久久一日本道色综合久久大香 | 免费看片黄 | 久久亚洲美女视频 | 很黄很色的网站 | 国产精品久久久 | 成人爽a毛片免费啪啪动漫 久久久国产一区二区三区 国产69久久精品成人看 | 日韩手机在线视频 | 亚洲成人99 | 国产一区二区在线免费观看 | 国产亚洲精品久久久久久 | 亚洲国产精品久久久久 | 国产综合婷婷 | 久久久久91 | 日韩欧美精品在线 | 中文字幕+乱码+中文乱码图片 | av黄网| 精品香蕉99久久久久网站 | 逼逼操 | 国产精品一区久久久 |