elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Error java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to class
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to class  (Leído 3,872 veces)
S4ms3pi0l__

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Error java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to class
« en: 14 Agosto 2019, 01:48 am »

Me gustaría algo de ayuda para resolver ese problemita de casteo. Se supone que, lo que tengo aquí:

Código
  1. String hql = "select\n" +
  2.                    "    c.categoryId as IdCategoria,\n" +
  3.                    "    c.name as nombre,\n" +
  4.                    "    count(*) as Cantidad\n" +
  5.                    "from Category c\n" +
  6.                    "inner join c.filmCategories fc\n" +
  7.                    "group by c.name";
  8.  
  9.       Iterator iterador  = s.createQuery(hql).list().iterator();
  10.  
  11.        while(iterador.hasNext()) {
  12.            Object obj[] = (Object[]) iterador.next();
  13.            System.out.println(obj[0]+" - "+obj[1] +" - "+obj[2]);
  14.        }
  15.  

Se tiene que mostrar en un reporte usando Jasper-Reports. Tengo la siguiente clase que manda a imprimir en el reporte, los elementos de la consulta:

Código
  1. public class CategoriaPelicula implements JRDataSource{
  2.    private List<PeliculaC> lista4 = new ArrayList<PeliculaC>();
  3.    private int indiceFact = -1;
  4.  
  5.    @Override
  6.    public boolean next() throws JRException {
  7.        return ++indiceFact < lista4.size();
  8.    }
  9.  
  10.    @Override
  11.    public Object getFieldValue(JRField jrf) throws JRException {
  12.         Object valor = null;
  13.  
  14.  
  15.         if("IdCategoria".equals(jrf.getName()))
  16.       {
  17.           valor = String.valueOf(lista4.get(indiceFact).getIdCategoria());
  18.       }
  19.       if("Nombre".equals(jrf.getName()))
  20.       {
  21.           String x = lista4.get(indiceFact).getNombre();
  22.           valor = x;
  23.       }
  24.       if("Cantidad".equals(jrf.getName()))
  25.       {
  26.           valor = String.valueOf(lista4.get(indiceFact).getCantidad());
  27.       }
  28.  
  29.       return valor;
  30.    }
  31.    /*El problema está en esta parte*/
  32.    public void addPeliculaC(PeliculaC c){
  33.        this.lista4.add(c);
  34.    }
  35.   /**/
  36.    public void Limpiar(){
  37.        if(indiceFact == -1)
  38.            indiceFact = -1;
  39.        else
  40.            indiceFact -= 1;
  41.    }
  42. }
  43.  
  44.  

Y aquí es donde ejecuto la consulta para mi reporte:

Código
  1. private void Cargar4()
  2.    {
  3.        Session s = NewHibernateUtil.getSessionFactory().openSession();
  4.         try
  5.        {  
  6.            Query query =  s.createQuery("select\n" +
  7.                                        "    c.categoryId as idCategoria,\n" +
  8.                                        "    c.name as nombre,\n" +
  9.                                        "    count(*) as Cantidad\n" +
  10.                                        "from Category c\n" +
  11.                                        "inner join c.filmCategories fc\n" +
  12.                                        "group by c.name");//.setResultTransformer(Transformers.aliasToBean(PeliculaC.class));
  13.  
  14.  
  15.            List<PeliculaC> elist = query.list();
  16.  
  17.              for (PeliculaC e: elist)
  18.            {
  19.               DataSource4.addPeliculaC(e);
  20.            }
  21.       }catch( Exception io)
  22.        {     //JOptionPane.showMessageDialog(null, "Fallo de conexion: "+io.toString());
  23.            System.out.println("Fallo de conexion" + io.toString());
  24.        }finally
  25.        {  
  26.            s.close();    
  27.        }
  28.    }
  29.  

En resumen, lo que tengo de primero, tengo que transformarlo para imprimirlo en mi reporte de Jasper, pero he intentado de todo y sigo sin resolver ese problema. Espero puedan ayudarme.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
etiqueta LANG y XML:LANG
Desarrollo Web
marcco 0 3,707 Último mensaje 11 Febrero 2011, 10:37 am
por marcco
[Aporte] ....::: Clase Object del paquete java.lang :::...
Java
horny3 0 2,808 Último mensaje 1 Octubre 2012, 02:58 am
por horny3
Validar firma digita error java.lang.NullPointerException
Windows
mauro_ms 0 3,042 Último mensaje 13 Abril 2016, 22:36 pm
por mauro_ms
java.lang.ArrayIndexOutOfBoundsException: 0; no se por que
Java
juligarc10 1 2,489 Último mensaje 9 Marzo 2019, 14:01 pm
por rub'n
Error java.lang.Byte cannot be cast to java.lang.Integer
Java
S4ms3pi0l__ 1 3,971 Último mensaje 24 Agosto 2019, 18:25 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines