Jpa jpql查询中的类别/子类别/子类别

Jpa jpql查询中的类别/子类别/子类别,jpa,categories,jpql,Jpa,Categories,Jpql,我必须使用JPQL显示jsf页面中每个类别的所有子类别。 我有一个类别表(idCategory、name、idParent)。如何管理jpql查询,以便显示类别的所有层次结构 SQL查询如下所示: select root.name as root_name , down1.name as down1_name , down2.name as down2_name , down3.name as down3_name from category as root left o

我必须使用JPQL显示jsf页面中每个类别的所有子类别。 我有一个类别表(idCategory、name、idParent)。如何管理jpql查询,以便显示类别的所有层次结构

SQL查询如下所示:

select root.name  as root_name
 , down1.name as down1_name
 , down2.name as down2_name
 , down3.name as down3_name

   from  category as root
   left outer join category as down1
     on down1.parent = root.category_id
   left outer join category as down2
     on down2.parent = down1.category_id
   left outer join category as down3
     on down3.parent = down2.category_id
   where root.parent is null  

   order by 
      root_name 
    , down1_name 
    , down2_name 
    , down3_name
  ;

谢谢。

请检查:但是,如果您的数据库支持分层查询(例如Oracle),您可以编写本机查询(但这不是一种“好方法”)。如果您确切地知道实体中可以存在多少层次结构(如示例中的3),那么就可以使用JPAQL。这是你的情况吗?谢谢你的快速回复,是的!我知道我的等级。那么我怎样才能得到结果呢?对不起,我以为你需要SQL,但你有正确的。你试过这个吗?