waysun一路陽(yáng)光

          不輕易服輸,不輕言放棄.--心是夢(mèng)的舞臺(tái),心有多大,舞臺(tái)有多大。踏踏實(shí)實(shí)做事,認(rèn)認(rèn)真真做人。

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            167 隨筆 :: 1 文章 :: 64 評(píng)論 :: 0 Trackbacks
          轉(zhuǎn)自:http://blog.csdn.net/thinkGhoster/archive/2007/10/24/1841584.aspx
                   Hibernate多對(duì)多雙向關(guān)聯(lián)映射

          1、數(shù)據(jù)庫(kù)結(jié)構(gòu)

                 category表:{ categoryId , categoryName }

                 item表:{ itemId , itemName }

                 category_item表:{ idCategory , idItem}

          2、Category.hbm.xml

          <hibernate-mapping>
              
          <class name="com.persistent.Category" table="category">
                  
          <id name="id" column="categoryId" unsaved-value="null">
                      
          <generator class="increment"></generator>
                  
          </id>
                  
          <property name="name" column="categoryName"></property>
                  
          <set name="items" table="category_item" cascade="all" lazy="false">
                      
          <key column="idCategory"></key>
                      
          <many-to-many class="com.persistent.Item" column="idItem"></many-to-many>
                  
          </set>
              
          </class>
          </hibernate-mapping>

          3、Item.hbm.xml

          <hibernate-mapping>
              
          <class name="com.persistent.Item" table="item">
                  
          <id name="id" column="itemId" unsaved-value="null">
                      
          <generator class="increment"></generator>
                  
          </id>
                  
          <property name="name" column="itemName"></property>
                  
          <set name="categories" table="category_item" lazy="false" inverse="true">
                      
          <key column="idItem"></key>
                      
          <many-to-many class="com.persistent.Category" column="idCategory"></many-to-many>
                  
          </set>
              
          </class>
          </hibernate-mapping>

          4、Category.java和Item.java

          public class Category {    
          private
           Long id;
              private
           String name;
          private Set items = new
           HashSet();
          ...
          }


          public class Item {
          private
           Long id;
          private
           String name;
          private Set categories = new
           HashSet();
          ...
          }

              

                映射文件中還可以不用set而用bag,只要把set出現(xiàn)的地方改成bag就行,這樣相應(yīng)的category.java和Item.java

          文件當(dāng)中就可以用List。

          posted on 2009-02-22 19:17 weesun一米陽(yáng)光 閱讀(280) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Hibernate總結(jié)備用cnweblog/nm1504
          主站蜘蛛池模板: 托里县| 防城港市| 鄯善县| 昌黎县| 怀仁县| 渝北区| 孝感市| 康保县| 墨脱县| 望江县| 边坝县| 盐津县| 河东区| 平顶山市| 吉木乃县| 利川市| 万州区| 泌阳县| 丰镇市| 葫芦岛市| 江都市| 江永县| 德惠市| 新闻| 丹凤县| 鄂托克旗| 班玛县| 望江县| 治多县| 扬中市| 陕西省| 阜南县| 九寨沟县| 藁城市| 衡南县| 称多县| 肃北| 沙洋县| 峨眉山市| 土默特左旗| 东辽县|