Hola amigos! Estoy empezando a tener una serie de problemas con consultas en hibernate a una base de datos de mySql.
Este sería el método que hace la consulta:
Código:
public static List<Empleado> gerentes(){
List<Empleado> ret=null;
Transaction tx=null;
Session session=InitSessionFactory.getInstance().getCurrentSession();
try{
tx=session.beginTransaction();
Query q=session.createQuery("select e.idEmpleado, e.nombre, e.habilitado from Empleado" +
" as e order by e.habilitado, e.nombre");
List<Empleado> lista=(List<Empleado>)q.list();
ret=lista;
tx.commit();
}catch (HibernateException e){
e.printStackTrace();
if(tx!=null && tx.isActive()) tx.rollback();
}
return ret;
}
Pero no se que es lo que devuelve, porque no es una lista de empleados, porque no me deja acceder a sus campos:
Código:
public static void main(String args[]){
List<Empleado> lista;
lista=EmpleadoDAO.gerentes();
System.out.println(lista.get(0).getNombre());
}
Me da la siguiente excepción:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at pruebaAux.Prueba.main(Prueba.java:14)
Ya se me acabaron las ideas, pues lo que yo tenia entendido es que una consulta de este tipo devuelve una tabla con los datos pedidos y el resto de los campos a null, por ello es que no se qué es lo que estoy haciendo mal y ya ya llevo 2 días perdidos con este tema.
Agradecería cualquier sugerencia o dato que me pudiera aclarar un poco las ideas.
Saludos!!