Como eu faço para rodar essa query usando Hibernate? Do jeito que tá, tá dando erro de token desconhecido(on) ele não aceita o ON do join, porque isso não é HQL e como é Hibernate, ele dá erro. Isso é meu aprendizado e meu trampo ao mesmo tempo e a portya da rua já tá aberta.
public List<Escola> findAll() {
Query query = getEntityManager().createQuery("select distinct e.nome " +
"from " +
"pessoa p inner join professor f on (p.idpessoa = f.idpessoa) " +
"inner join matricula m on (m.idprofessor = f.idprofessor) " +
"inner join escola e on (e.idescola = m.idescola)" +
"where m.situacao = 'A'");
return (List<Escola>) query.getResultList();
}