環(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對象中包含以下兩個屬性,
?



其對應(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

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

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