Hibernate 如何获取树节点的所有子节点

Hibernate 如何获取树节点的所有子节点,hibernate,hql,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 现在我需要构建一个hibernatehql语句,它只返回 111

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

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
现在我需要构建一个hibernatehql语句,它只返回

111          |  cat 111 | 11
22           |  cat 22  | 2
因为只有这两个类别没有子类别。我尝试了以下Hibernate HQL语句:

select Category_id from Category where not exists ( select category_parent from Category ) 
要过滤所有没有在category\u parent字段中列出其category\u id但不起作用的类别,请有人告诉我HQL中到底出了什么问题,以及我如何修改它以获得我想要的结果,以帮助我

谢谢你抽出时间来

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

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