estou precisando criar uma query um pouco complexa com hibernate, como essa abaixo
select *
from estado
where pai_id = (select pais.pai_id
from cidade, estado, pais
where cidade.cid_id = 18
and cidade.est_id = estado.est_id
and estado.pai_id = pais.pai_id)
Porém só consigo criar query no hibernate usando criteria(porém não consigo criar essa query complexa com criteria), tentei usar createSQLQuery, mas não consegui e devido a este problema não sei como interagir com o resultado do select, alguém poderia me dar uma ajuda, em como montar esta query com a classe Criteria ou Query do hibernate?
Consegui criar a query usando HQL, isso ja ajudaria porem não consigo exibir os resultados usando o System.out.println
Query query1 = sessao.createQuery("from Cidade c join c.estado e join e.pais p where c.cid_nom = :cidade ")
.setString("cidade", "Belo Horizonte");
List list = query1.list();
Ai estao minhas classes modelo que usei para gerar minhas entidades
Pais