posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          hibernate 問(wèn)題小結(jié)2 (inverse和cascade)

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

          2.代碼過(guò)程是:Save->t1oo對(duì)象(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屬性 )
          結(jié)合上面說(shuō)明得表為:
          +-------+-------+-------+----------+----------+
          |hbn.xml|inverse|cascade|t1oo->t2oo|t2oo->t1oo|
          +-------+-------+-------+----------+----------+
          | t1oo? | true? | all?? |?? ??? ?? |????????? |
          +-------+-------+-------+? true??? |? false?? |
          | t2oo? |?????? | all?? |??? ????? |????????? |
          +-------+-------+-------+----------+----------+


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


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

          可改項(xiàng):

          +-------+-------+-------+----------+----------+
          |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)







          評(píng)論

          # re: hibernate 問(wèn)題小結(jié)2 (inverse和cascade)  回復(fù)  更多評(píng)論   

          2007-11-16 23:03 by 專(zhuān)注JAVA開(kāi)源項(xiàng)目
          有感...

          # re: hibernate 問(wèn)題小結(jié)2 (inverse和cascade)  回復(fù)  更多評(píng)論   

          2007-11-18 01:16 by 快譯站
          不錯(cuò),鼓勵(lì)下原創(chuàng)


          5D壁紙 http://5dwall.cn 想看壁紙,新鮮,經(jīng)典,精美,你想的到的壁紙都有!
          主站蜘蛛池模板: 洞口县| 临清市| 嘉黎县| 海南省| 高淳县| 岑溪市| 绵竹市| 蒙阴县| 衡阳县| 苏州市| 北辰区| 班玛县| 潢川县| 太康县| 双辽市| 荥经县| 巴东县| 扎鲁特旗| 岫岩| 乐昌市| 昌江| 栾川县| 紫阳县| 晋江市| 罗平县| 延吉市| 德兴市| 邻水| 甘德县| 固安县| 凤阳县| 抚远县| 隆安县| 北海市| 商丘市| 乐清市| 招远市| 微山县| 翼城县| 格尔木市| 增城市|