Preciso fazer uma JPQL que retorne dados de uma tabela que se relaciona com ela mesma:

Preciso retornar o nome do pai, nome do filho e qtd, de netos.
Valeu!
Preciso fazer uma JPQL que retorne dados de uma tabela que se relaciona com ela mesma:

Preciso retornar o nome do pai, nome do filho e qtd, de netos.
Valeu!
e o que vc já fez ?
Olá igomes!
Por enquanto estou fazendo com sql, veja:
SELECT p.nome as pai, f.id as id_filho, f.nome as filho, ( SELECT COUNT(n.id) FROM local n INNER JOIN local a ON a.id = n.pai WHERE a.id = 4 ) as netos FROM local p INNER JOIN local f ON p.id = f.pai WHERE p.id = 1
E aí galera, nada?
Queres todos os registo ou apenas os que têm filhos? Se queres todos nao podes usar inner join. Não sei se é bem isto que queres, mas segue um exemplo em SQL para te ajudar:
SELECT p.nome, f.nome, (select count (*) from t_local n where n.pai = f.id) cnt
FROM t_local p
LEFT JOIN t_local f ON (p.id = f.pai)
Ou, orientado ao “filho”:
SELECT p.nome, f.nome, (select count (*) from t_local n where n.pai = f.id) cnt
FROM t_local f
LEFT JOIN t_local p ON (p.id = f.pai)
Olá pmlm!
Sua resposta foi perfeita, é exatamente o que preciso.
Muito obrigado! 