Olá pessoal,
estou trabalhando com o hibernate e estou tentando fazer um método que execute uma sql nativa, através do "createSQLQuery(sql).list", pesquisei no google sobre este método e percebi que ele retorna um list de objects e não consigo fazer um cast de list ... será que alguém poderia me ajudar ...
desde já obrigada.
Abaixo segue o meu codigo fonte ...
Simone.
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import reservas.beans.Recurso;
public class TesteSelect {
private Session session;
private Transaction transaction;
private void closeSession() {
if (session != null && session.isConnected()) {
session.close();
}
}
public List<Recurso> executeSQL(String sql) {
List<Recurso> list = null;
try {
session = HibernateUtility.getSession();
list = (List<Recurso>) session.createSQLQuery(sql).list();
return list;
} catch (HibernateException e) {
System.out.println("Erro: " + e.getMessage());
} finally {
closeSession();
}
return null;
}
public static void main(String args[]) {
TesteSelect a1 = new TesteSelect();
List<Recurso> lista1 = a1.executeSQL("select * from web_res_recursos");
for(int i = 0; i < lista1.size(); i++) {
// Object[] teste = (Object[]) lista1.get(i);
// System.out.println((String) teste[3]);
System.out.println("Descricao: " + lista1.get(i).getDescricao());
}
}
}
Hibernate: select * from web_res_recursos
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to reservas.beans.Recurso
at reservas.persistencia.TesteSelect.main(TesteSelect.java:103)
Java Result: 1