Código
" c.categoryId as IdCategoria,\n" + " c.name as nombre,\n" + " count(*) as Cantidad\n" + "from Category c\n" + "inner join c.filmCategories fc\n" + "group by c.name"; while(iterador.hasNext()) { }
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
public class CategoriaPelicula implements JRDataSource{ private List<PeliculaC> lista4 = new ArrayList<PeliculaC>(); private int indiceFact = -1; @Override public boolean next() throws JRException { return ++indiceFact < lista4.size(); } @Override if("IdCategoria".equals(jrf.getName())) { } if("Nombre".equals(jrf.getName())) { valor = x; } if("Cantidad".equals(jrf.getName())) { } return valor; } /*El problema está en esta parte*/ public void addPeliculaC(PeliculaC c){ this.lista4.add(c); } /**/ public void Limpiar(){ if(indiceFact == -1) indiceFact = -1; else indiceFact -= 1; } }
Y aquí es donde ejecuto la consulta para mi reporte:
Código
private void Cargar4() { Session s = NewHibernateUtil.getSessionFactory().openSession(); try { Query query = s.createQuery("select\n" + " c.categoryId as idCategoria,\n" + " c.name as nombre,\n" + " count(*) as Cantidad\n" + "from Category c\n" + "inner join c.filmCategories fc\n" + "group by c.name");//.setResultTransformer(Transformers.aliasToBean(PeliculaC.class)); List<PeliculaC> elist = query.list(); for (PeliculaC e: elist) { DataSource4.addPeliculaC(e); } { //JOptionPane.showMessageDialog(null, "Fallo de conexion: "+io.toString()); }finally { s.close(); } }
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.