Cara, o método createQuery é utilizado ao expressar HQL.
Para trabalhar com sql você utilize createNativeQuery.
Para fazer essas querys com hql voce precisa ter os objetos mapeados certinho e fazer a consulta baseada neles.
OBS: o segundo parametro do createNativeQuery é opcional para um pojo criado para encapsular os dados retornados do banco com query nativa, dai o hibernate injeta os valores nele pra vc.