坐井观天

用左眼看头顶的这一块天
posts - 4, comments - 3, trackbacks - 0, articles - 0
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2007年1月8日

环境: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

posted @ 2007-01-08 13:09 癞蛤蟆的左眼 阅读(724) | 评论 (0)编辑 收藏

我在Hibernate中的xml文件中定义了双向映射,并附加了一个元素one-to-many产生的Set元素,并在持久化类用getSubSubject()取到了定义的Set集合,强制转化成list行吗?

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

程序没有报错,但验证时发现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 癞蛤蟆的左眼 阅读(4053) | 评论 (3)编辑 收藏