坐井觀天

          用左眼看頭頂的這一塊天
          posts - 4, comments - 3, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          環境:jboss-portal + jsp +?Hibernate + MySQL。

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

          我和下面代碼的不同之處是級聯的設置:cascade= "delete - all -dophin" !

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

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

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

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

          其對應的配置文件如下:

          ?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





          ????? 下面是如何使用的代碼,當然會用到遞歸:

          ?

          ?1 ??/**
          ?2 ???*?查詢所有孩子節點
          ?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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 西平县| 陈巴尔虎旗| 瓦房店市| 金川县| 保德县| 丰镇市| 阜康市| 叶城县| 通江县| 扎兰屯市| 巍山| 永州市| 承德市| 永安市| 潼南县| 高雄市| 诸暨市| 常德市| 庄浪县| 新晃| 台安县| 永定县| 西安市| 泽库县| 白银市| 读书| 鸡西市| 新沂市| 青浦区| 张家口市| 文水县| 大厂| 荔波县| 泰宁县| 乌鲁木齐县| 安塞县| 潍坊市| 夏河县| 哈尔滨市| 理塘县| 莒南县|