Bom dia pessoal estou fazendo meu primeiro relatorio utilizando JasperReport + Hibernate, utilizei aquela implementação HibernateQueryResultDataSource, quando geromeu relatorio os valores aparecem todos como “null” e a quantidade de registro que é apresentada no relatorio é a mesma que existe na tabela.
Meu Bean:
public class Iconterms implements Serializable{
private String codigoIconterms;
private String descricao;
private String observacao;
// metodos get e set
}
Minha classe para gerar o relátorio:
package br.com.fts.exp.test;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import org.hibernate.Criteria;
import org.hibernate.Session;
import br.com.fts.exp.bean.Iconterms;
import br.com.fts.exp.util.HibernateUtility;
public class PrimeiroRelatorio {
public static void main(String[] args) {
Session session = HibernateUtility.getSession();
Criteria criteria = session.createCriteria(Iconterms.class);
List iconterms = criteria.list();
String pathArquivo = "C:\\RelatorioIconterms.jasper";
HashMap parametros = new HashMap();
String[] fields = new String[] { "CODIGO_ICONTERMS", "DESCRICAO", "OBSERVACAO" };
HibernateQueryResultDataSource2 ds = new HibernateQueryResultDataSource2(iconterms, fields);
try {
JasperReport jasperReport = JasperManager.loadReport(pathArquivo);
JasperPrint jasperPrint = JasperManager.fillReport(jasperReport,parametros, ds);
JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\teste.pdf");
} catch (JRException e) {
System.out.println(e.getMessage());
}
}
}