你的pojo稍微改一下
public class Fruit{
private int id;
private int parentid ;
private List childs = new ArrayList ();
//get..set 方法省略
}//parentid 规定为0时 则表示你想从树根开始往下读取
//如果从树根往下读 则list 只有包含一个树根的pojo
//其余的在这个 树根POJO 的getChilds()方法下面
//getChilds()方法 是获得属于这个父节点的所有子节点
public List public findChildren(Session session,int parentid ){
String hql = "from Fruit.o where o.parentid = "+parentid +"";
Query query = session.createQuery(hql);
List list = query.list();
for(Iterator ite = list.iterator();ite.hasNext(); ){
Fruit fruit = (Fruit)ite.next();
fruit.setChilds(
findChildren( session,fruit.getParentid() )
);
}
return list;
}
2008年12月21日 17:21
728
0
0
0