Java - [Ljava.lang.Object; cannot be cast to model.VentaReport

 
Vista:

[Ljava.lang.Object; cannot be cast to model.VentaReport

Publicado por YanetSilva (1 intervención) el 23/01/2018 03:51:22
Buenos días. Por favor, necesito que alguien me ayude con este problema. Tengo un proyecto Java con JPA y en mi controlador de ventas tengo este método:

1
2
3
4
5
6
7
8
public List<VentaReport> getVentas() {
 
	return emf.createEntityManager().createQuery(
		"SELECT c.nombre, p.nombre"
			+ " FROM Productos p, Clientes c INNER JOIN c.ventaList v1 INNER JOIN p.ventaList v")
		.getResultList();
 
}

VentaReport es una clase que cree en el código, pero que no existe en la BD. Como pueden ver el método no devuelve directamente una clase del modelo, si no, que un conjunto formado por campos de varias clases. El problema esta cuando llamo a esté método:

1
2
3
4
List<VentaReport> lista = controller.getVentas();
for (VentaReport item : lista) {
    ...
}
En la misma línea del FOR me da el siguiente error: [Ljava.lang.Object; cannot be cast to model.VentaReport

Agradecería de corazón cualquier ayuda que alguien pueda darme. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 190
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

[Ljava.lang.Object; cannot be cast to model.VentaReport

Publicado por preguntas (70 intervenciones) el 24/01/2018 01:43:18
Da el problema justamente por lo que mencionas, se están retornando datos (tipo atributos) de distintos objetos, mas no el objeto en si. Por eso te da el problema al querer hacer el casting para llenar la lista (y por consiguiente recorrerla).

La consulta SQL se ve un poco sospechosa también.

Quieres obtener información relacionada a una tabla?, Quieres generar un reporte que contenga datos de diferentes tablas?, es un carro de compras?,,,

Si nos das un poco mas de información te podremos dar mejores respuestas.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar