Retornando EntityManager do Hibernate

Como eu posso executar um consulta, utilizando o EntityManager do Hibernate?
Por exemplo:

O meu código está assim:

[code]
Map<String, Integer> map = new HashMap<String, Integer>();
String sql = “select (count(id) / 5) as “total1”, count(id) from tableA;”;
EntityManager em = this.getEntityManager();

    try {
       map = em.createNativeQuery(sql, HashMap.class).getResultList();
    } finnally {
       em.close();
    }

    return map;[/code]

Sendo que eu gostaria que o nome do campo fosse a key do map. Teria como fazer isso?

[quote=Jedi_FeniX]Como eu posso executar um consulta, utilizando o EntityManager do Hibernate?
Por exemplo:

O meu código está assim:

[code]
Map<String, Integer> map = new HashMap<String, Integer>();
String sql = “select (count(id) / 5) as “total1”, count(id) from tableA;”;
EntityManager em = this.getEntityManager();

    try {
       map = em.createNativeQuery(sql, HashMap.class).getResultList();
    } finnally {
       em.close();
    }

    return map;[/code]

Sendo que eu gostaria que o nome do campo fosse a key do map. Teria como fazer isso?[/quote]

Olá…
Faz assim:

Dá uma olhadinha nesse link aqui, paginas 6 e 7:
http://www.metaarchit.com/hibernate_tutorials/Hibernate%20Tutorial%2009.pdf

[]'s
JL

Não entendi muito bem a sua resposta poderia explicar melhor? Lembrando que eu estou querendo rodar um sql nativo.

E corrigindo a query que quero rodar é esta:

É uma procedure que retorna dos campos integers.

[quote=Jedi_FeniX]Não entendi muito bem a sua resposta poderia explicar melhor? Lembrando que eu estou querendo rodar um sql nativo.

E corrigindo a query que quero rodar é esta:

É uma procedure que retorna dos campos integers.[/quote]

Certo, desculpe a falta de explicação.
Sobre o retorno de querys em forma de maps do Hibernate, basta apenas que você utilize assim:

Onde new map indica que o retorno é um mapa, objeto.atributo as alias1 indica o atributo do objeto como valor e o alias1 com chave do valor no mapa.
O erro em minha resposta foi ter lido em.createQuery ao invez de em.createNativeQuery
Não sei bem se de um retorno de uma procedure o hibernate pode retornar um mapa.
Em uma consulta rapida não consegui nem um resultado que atenda…

[]'s
JL

Estou querendo fazer a seguinte query:

Agora usando createQuery…

Mas quando tento pegar o List desta query, recebo o seguinte erro de type casting

[quote]java.lang.ClassCastException: [Ljava.lang.Object;
[/quote]

O meu código está assim:

try {
   List<User> list = (List<User>) em.createQuery("nameQuery").getResultList();
} finally {
   em.close()
}