隨筆-9  評論-168  文章-266  trackbacks-0
                  在多對一和一對多的映射中.如一個部門對應(yīng)多個人員,既可以看成是多個人員對應(yīng)一個部門.所以在一對多或多對一映射關(guān)系中,沒有區(qū)別.
          以多對一映射文件說明:
                  多的一方,如人員持久化類映射文件需加入多對一元素:  <many-to-one class="部門類" colum="外鍵" />    //外鍵的定義方式,代替<property />定義.
                  一的一方,如部門持久化類映射文件.由于為了體現(xiàn)一一對應(yīng)的原則(個人理解),需把多的一方映射為一個集合(因為一的一方要把多的一方看成一個整體,所以集合當(dāng)然就放在一的一方.) , 需加入:
                  <set name="集合名"/>                                                              //集合中name 屬性必須.
                     <key>   <colum name="外鍵" not-null="true/>  </key>          //在集合中指定多的一方的外鍵元素(集合中兩個子元素的一個),不代替<property />定義.
                     <one-to-many class="人員類" />                                                        //一對多元素(集合中兩個子元素的一個).
                  </set> 
                                              (有外鍵的那一方,即為多方)   (持久化即序列化)

                  多對多的映射講解:
                  多對多的映射文件中,由于JAVA類無法表示多對多的映射,所以把他們分解成兩個多對一/一對多,在中間引入一個JAVA BEAN 對象進行關(guān)聯(lián).這個中間BEAN除了主鍵用<id />定義,其他屬性由于均為外鍵,所以采用外鍵定義方式---<many-to-one />.


          以上講解有問題.舉的例子是一對多的.多對一比一對多簡單些.
          posted on 2008-03-17 10:50 紫蝶∏飛揚↗ 閱讀(961) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 台北市| 永城市| 南安市| 鹰潭市| 花莲县| 武汉市| 屏南县| 盐边县| 和龙市| 化德县| 牡丹江市| 万安县| 邹城市| 淳安县| 腾冲县| 岗巴县| 仙居县| 柏乡县| 安塞县| 长岛县| 丰台区| 修文县| 泰兴市| 黑水县| 井冈山市| 白朗县| 逊克县| 梧州市| 澎湖县| 大洼县| 抚州市| 耒阳市| 黄龙县| 青铜峡市| 西华县| 湛江市| 黄石市| 鱼台县| 鹤峰县| 寿宁县| 阳曲县|