veja Como você faz um limitar a consulta em HQL?
você não pode limitar uma consulta escrita em hql com hql. Você precisa fazer uma chamada para setMaxResults no objeto Query, o que eu acho que impedirá que você aplique um limite em uma subconsulta hql.
Isso deixa você com a opção de
- escrevendo-o como uma consulta sql ou
- tentando encontrar outra maneira de escrever sua consulta hql para que você não precise de um limite em uma subconsulta.