Estoy usando hibernate para la persistencia de mi base de datos en mi aplicacion web. He configurado todo como debe ser, o al menos eso creo por que puedo realizar insert sin problemas en mi base, pero al querer consultar cosas me sale el siguiente error:
[Ljava.lang.Object; cannot be cast to Beans.Herramienta
La funcion donde hago la consulta es esta:
public String getHerramientasByParam(String parametro,String descripcion){
String xml="";
Session s=HibernateUtil.getSessionFactory().getCurrentSess ion();
s.beginTransaction();
Vector<Herramienta> v= new Vector <Herramienta>(s.createQuery("Select idherramienta,codigo,nombre,tipo,descripcion,marca from Herramienta where "+parametro+" like '%"+descripcion+"%'").list());
xml=xml+"<herramientas>";
try{
for(int i=0;i<v.size();i++){
Herramienta t=(Herramienta)v.get(i);
System.out.println("una herramienta "+t);
xml=xml+"<herramienta>";
xml=xml+"<id>"+t.getIdherramienta()+"</id>";
xml=xml+"<codigo>"+t.getCodigo()+"</codigo>";
xml=xml+"<nombre>"+t.getNombre()+"</nombre>";
xml=xml+"<tipo>"+t.getTipo()+"</tipo>";
xml=xml+"<marca>"+t.getMarca()+"</marca>";
xml=xml+"<descripcion>"+t.getDescripcion()+"</descripcion>";
xml=xml+"</herramienta>";
}
}catch(Exception e){System.out.println("Ocurrio una exepcion : "+e.getMessage());}
s.getTransaction().commit();
HibernateUtil.getSessionFactory().close();
xml=xml+"</herramientas>";
return xml;
}
Hasta obtener el vector todo bien, incluso puedo consultar cuantos objetos tiene el vector, y el numero de objetos coincide con el numero de registros que me deberia devolver, pero al querer acceder a un objeto del vector se levanta la exepcion. Ademas al querer imprimir el vector como string me sale el siguiente resultado :
[[Ljava.lang.Object;(arroba) 15b0bc6, [Ljava.lang.Object;(arroba)621bd7]
(Donde dice arroba, va un arroba jejeje es que no me dejaba subir el tema por que creia que era spam)
Creo que es un problema en la persistencia, pero no tengo idea de cual ya que el mapping no levante error, y como dije anteriormente puedo realizar inserts, he usado antes persistencia y ha funcionado de maravilla pero con MySql, Alguien tiene idea de que es lo que sucede????