坐井觀天

          用左眼看頭頂?shù)倪@一塊天
          posts - 4, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          2007年1月8日

          環(huán)境:jboss-portal + jsp +?Hibernate + MySQL。

          下面的代碼貌似對我有所幫助,現(xiàn)在問題聚焦在xml配置文件中使用定義<one- to many>的Set,
          Set set = getSubSubjects();
          只要在jsp中使用到set就會報錯,而且jboss中的控制臺顯示是由于jasperExeption引起的,沒有顯示Hibernate的錯誤信息。

          我和下面代碼的不同之處是級聯(lián)的設(shè)置:cascade= "delete - all -dophin" !

          也許問題就是出在這里,下午過去測試一下便知了。

          ------------------------------------------------------------

          Node對象中包含以下兩個屬性,
          ?

          private ?Node?parent;? // 父對象
          private ?Set?children? = ? new ?HashSet();? // 孩子集合

          其對應(yīng)的配置文件如下:

          ?1 < many-to-one
          ?2 ???????????? name ="parent"
          ?3 ????????????class ="com.norteksoft.bom.model.Node"
          ?4 ????????????cascade ="none"
          ?5 ????????????outer-join ="auto"
          ?6 ????????????column ="FK_NODE_ID"
          ?7 ???????? />
          ?8
          ?9 ???????? < set
          10 ???????????? name ="children"
          11 ????????????lazy ="true"
          12 ????????????cascade ="all"
          13 ????????????sort ="unsorted"
          14 ???????? >
          15
          16 ?????????????? < key
          17 ?????????????????? column ="FK_NODE_ID"
          18 ?????????????? >
          19 ?????????????? </ key >
          20
          21 ?????????????? < one-to-many
          22 ?????????????????? class ="com.norteksoft.bom.model.Node"
          23 ?????????????? />
          24
          25 ???????? </ set >
          26
          27





          ????? 下面是如何使用的代碼,當(dāng)然會用到遞歸:

          ?

          ?1 ??/**
          ?2 ???*?查詢所有孩子節(jié)點
          ?3 ???*?@param?node?Node
          ?4 ???*?@param?list?List
          ?5 ???*?@return?List
          ?6 ???*/
          ?7 ??public?List?findAllChildrenNodes(Node?node,?List?list)?{
          ?8 ????if?(node.getChildren().size()?==?0)?{
          ?9 ??????return?list;
          10 ????}?else?{
          11 ??????for?(Iterator?it?=?node.getChildren().iterator();?it.hasNext();?)?{
          12 ????????Node?theNode?=?(Node)?it.next();
          13 ????????list.add(theNode);
          14 ????????findAllChildrenNodes(theNode,?list);
          15 ??????}
          16
          17 ??????return?list;
          18 ????}
          19 ??}
          20
          21

          posted @ 2007-01-08 13:09 癩蛤蟆的左眼 閱讀(741) | 評論 (0)編輯 收藏

          我在Hibernate中的xml文件中定義了雙向映射,并附加了一個元素one-to-many產(chǎn)生的Set元素,并在持久化類用getSubSubject()取到了定義的Set集合,強制轉(zhuǎn)化成list行嗎?

          List list = (List)getSubSubject(); //Set getSubSubject() 是持久化類中提供的
          return list;

          程序沒有報錯,但驗證時發(fā)現(xiàn)getSubSubjects()取不出東西 ,而且一使用它就報錯 ,遇到過嗎?



          eclipse3.2中文包下載:
          http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/L-3.2_Language_Packs-200607121700/NLpack1-eclipse-SDK-3.2-win32.zip

          posted @ 2007-01-08 01:13 癩蛤蟆的左眼 閱讀(4070) | 評論 (3)編輯 收藏

          主站蜘蛛池模板: 石家庄市| 乌兰县| 乌兰浩特市| 郎溪县| 汕尾市| 临西县| 宜都市| 佛冈县| 科尔| 梅河口市| 武城县| 封开县| 修文县| 谢通门县| 邳州市| 敖汉旗| 威宁| 岐山县| 鄂州市| 曲沃县| 左贡县| 漯河市| 萝北县| 房山区| 渝中区| 福州市| 平谷区| 通许县| 明星| 长兴县| 墨玉县| 绥芬河市| 晴隆县| 三江| 怀远县| 新邵县| 新丰县| 天峻县| 洛隆县| 巴南区| 合川市|