posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2007年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          公告

          由于時間問題,
          blog上一些表達都不太好。

          在此我盡量把我參考的原文給大家,
          與大家學習。^_^
          最近在維護www.aygfsteel.com\Skynet 腳本中
          有什么技術問題不會,
          我很愿意和大家討論!
          多交流快成長
          liukaiyi@gmail.com


          文章檔案

          相冊

          搜索

          •  

          最新評論

          hibernate 問題小結2 (inverse和cascade)

          Posted on 2007-11-16 19:20 G_G 閱讀(1736) 評論(2)  編輯  收藏 所屬分類: hibernate
          inverse 使用
          說明約定-如:
          1.表屬性 :T1oo->id,name
          ??? ?? ?? T2oo->id,avg,aid(
          外鍵 ),version

          2.代碼過程是:Save->t1oo對象(T1oo 外鍵 T2oo)
          ??? ??? T1oo t1oo = new T1oo();
          ??? ??? t1oo.setName("xx");??? ???
          ??? ??? t1oo.setT2ooSet(new HashSet());
          ??? ??? T2oo t2oo2 = new T2oo(24);
          ??? ??? //t2oo2.setT1oo(t1oo); (在下面的本用例表中的第3屬性 )
          ??? ??? t1oo.getT2ooSet().add(t2oo2);
          (在下面的本用例表中的第2屬性 )
          ??? ??? session.save(t1oo);

          3.本例表使用:
          T1oo.hbm.xml ->
          ??????? <set name="t2ooSet" inverse="true" cascade = "all"? >
          (在下面的本用例表中的第1,2屬性 )
          ??????????? <key column="aid"/>
          ??????????? <one-to-many class="T2oo"/>
          ??????? </set>
          T2oo.hbm.xml ->
          ??? ??? <many-to-one name="t1oo" column="aid"? class="T1oo" cascade="all" />
          (在下面的本用例表中的第1,2屬性 )
          結合上面說明得表為:
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+


          4.執行 Hibernate語句
          ??? Hibernate: insert into t1oo (name, id) values (?, ?)
          ??? Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          5.結果為:
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 2 |? 24 | NULL |?????? 0 | //主要就是看 aid屬性
          +----+-----+------+---------+
          1 row in set (0.00 sec)


          mysql> select * from t1oo; //
          因為 T1oo總是可以 Save 下面就不再提了
          +----+------+
          | id | name |
          +----+------+
          |? 2 | xx?? |
          +----+------+
          1 row in set (0.00 sec)

          可改項:

          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | 可改4 | 可改2? |?? ??? ?? |????????? |
          +-------+-------+-------+?????????? |?? 可改1? |
          | t2oo? |?????? | 可改3 |??? ?????? |????????? |
          +-------+-------+-------+----------+----------+



          主本:
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)


          改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 | NULL|?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)

          改2
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Empty set (0.00 sec)

          改2? 改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Empty set (0.00 sec)


          改3
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? |?????? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)

          改3 改2
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? |?????? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Empty set (0.00 sec)


          改3 改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? |?????? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 | NULL |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)

          改3 改2 改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? |?????? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Empty set (0.00 sec)

          改4
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          Hibernate: update t2oo set aid=? where id=?
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.02 sec)

          改4 改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          Hibernate: update t2oo set aid=? where id=?
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)

          改4 改2
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false | ? ? ? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? | all?? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: update t2oo set aid=? where id=?
          Empty set (0.00 sec)

          改4 改3
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? |?????? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          Hibernate: update t2oo set aid=? where id=?
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.00 sec)

          改4 改3 改2

          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? true??? |
          | t2oo? |?????? |?????? |??? ? ? ? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: update t2oo set aid=? where id=?
          Empty set (0.00 sec)

          改4 改1 改2
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: update t2oo set aid=? where id=?
          Empty set (0.00 sec)


          改4 改1 改3
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false |? all? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? |?????? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: insert into t2oo (version, avg, aid, id) values (?, ?, ?, ?)
          Hibernate: update t2oo set aid=? where id=?
          mysql> select * from t2oo;
          +----+-----+------+---------+
          | id | avg | aid? | version |
          +----+-----+------+---------+
          |? 1 |? 24 |??? 1 |?????? 0 |
          +----+-----+------+---------+
          1 row in set (0.02 sec)

          改4 改3 改2 改1
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | false |?????? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? |?????? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+
          Hibernate: insert into t1oo (name, id) values (?, ?)
          Hibernate: update t2oo set aid=? where id=?
          Empty set (0.00 sec)







          評論

          # re: hibernate 問題小結2 (inverse和cascade)  回復  更多評論   

          2007-11-16 23:03 by 專注JAVA開源項目
          有感...

          # re: hibernate 問題小結2 (inverse和cascade)  回復  更多評論   

          2007-11-18 01:16 by 快譯站
          不錯,鼓勵下原創


          5D壁紙 http://5dwall.cn 想看壁紙,新鮮,經典,精美,你想的到的壁紙都有!
          主站蜘蛛池模板: 五家渠市| 融水| 海宁市| 库尔勒市| 云霄县| 义乌市| 墨玉县| 古交市| 南部县| 临澧县| 长子县| 炉霍县| 许昌市| 平昌县| 左云县| 枣阳市| 旬阳县| 二连浩特市| 嘉善县| 台前县| 上栗县| 松滋市| 大田县| 元氏县| 土默特左旗| 凤台县| 乌兰浩特市| 开鲁县| 罗城| 西畴县| 桂林市| 绍兴县| 灵台县| 子洲县| 耒阳市| 嘉峪关市| 隆子县| 婺源县| 平昌县| 牙克石市| 株洲市|