甜咖啡

          我的IT空間

          hibernate中幾種映射關系 講解1

          通常在數據庫或者現實的實體關系中存在3種現象: 1-1  ,1-N , N-N  其中1對1的關系 好比一個丈夫 只有一個 妻子 ,一個妻子也只有一個老婆,一對多的關系 就像 1個人能有多個 房子,而一個房子只能有一個房主, 多對多 好比一個班有多個老師來教,而一個老師能教多個班。

          在實體設計中 也存在這樣映射關系,一對一 用的比較少,一對多或者 多對多 用的比較常見。

          先來介紹下一對一 ;

           每種映射關系都存在 有連接表和無連接表 兩種情況,下面我都講解 無連接表的情況。

          第一種情況; 基于外鍵的雙向 關聯

          什么意思呢; 基于外鍵的關聯好比 一個表的外鍵是另一個表的主鍵,學過數據庫的朋友應該都知道這種主從表關系(父子表關系)。

          數據的表設計就不多做解釋了,下面著重講解 映射文件的寫法;

          在hibernate框架中的我們都知道 一個表應該對應一個實體 即模型(bean) 所有主從表的話基本要設計兩個bean對象,那么每個bean對象就必須寫上一個xml問價作為hibernate框架 控制的橋梁。

          在主表對應的bean對象的 xml文件的寫法如下;

          <hibernate-mapping package="lee‘>

          <class name="對應bean對象的全路徑" table=“對應的表名">

              <id name="id的名字" column="表中的字段名" > <!-- 如果 兩個的名字一樣的則column可以不寫-->

                 <ganerator class="native” /> 主鍵生成策略</id>

          <property name="其他的屬性名">

          ........

          <!-- 關鍵代碼-->

              主bean 類的寫法加上一個屬性 表示 另一個 bean的 變量,在子bean中同樣如此

              <one-to-one name="對應子表中的對象的變量名"

          " class="另一個bean對象的全路徑" cascade="all" property-ref="在另一個bean中代表本類的變量名"></one-to-one>  cascade="all"表示 同步兩個表

          </class>

          </ hibernate-mapping>

          另一個bean ,即子表bean的xml文件的寫法

          <前面和主bean一樣>

          主鍵生成策略:foreign

          <many-to-one name="對應主bean對象的變量名" unique=“true”表示唯一外鍵

          column=“外鍵名”

          class="主bean的全路徑"></many-to-one>

           

          2:基于主鍵的雙向 1-1關聯

          什么是基于主鍵 ; 即一個表的主鍵是另一個的主鍵,一個的主鍵變化 另一個表也同時變化

          xml寫法

          <one-to-one name="另一個bean的變量名" class=“另一個bean的全路徑” cascade="all">

          posted on 2011-03-26 23:39 甜咖啡 閱讀(773) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2011年3月>
          272812345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統計

          常用鏈接

          留言簿(1)

          我參與的團隊

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉义市| 高尔夫| 贡嘎县| 凉山| 安义县| 南安市| 定南县| 保山市| 临澧县| 盐亭县| 紫阳县| 方正县| 分宜县| 惠水县| 越西县| 望谟县| 岳池县| 澜沧| 大方县| 广元市| 庆元县| 景东| 固原市| 宜黄县| 盖州市| 文山县| 唐河县| 连江县| 昌都县| 华安县| 富民县| 呼和浩特市| 乌兰浩特市| 叙永县| 无锡市| 政和县| 桑植县| 金秀| 枣强县| 秦皇岛市| 凤城市|