如何为树节点获取所有子节点

时间:2013-08-05 00:49:46

标签: hibernate hql

我有一个域类/表,它列出了我的项目中的类别,如下所示:

Category_id  |  Name    | category_parent
1            |  cat 1   | 0
11           |  cat 11  | 1
111          |  cat 111 | 11
2            |  cat 2   | 0
22           |  cat 22  | 2

现在我需要构建一个只返回

的Hibernate HQL语句
111          |  cat 111 | 11
22           |  cat 22  | 2

因为这些是仅有的两个没有子类别的类别。我尝试了以下Hibernate HQL语句:

select Category_id from Category where not exists ( select category_parent from Category ) 

过滤所有未在category_parent字段中列出其category_id的类别,但它不起作用...所以有人可以通过告诉我HQL中究竟出了什么问题来帮助我,我该如何修改它实现我想要的结果?

感谢您的时间

1 个答案:

答案 0 :(得分:0)

你的意思是“它不起作用”?你的类是否正确映射?您的查询看起来不像hql。您应该使用类字段名称,而不是表列名称。看起来应该更像这样:

    select c.id from Category c where c.parent is null