Usar ireport através do hibernate no Netbeans

2 respostas
limaand

Esta é minha classe que chama o relatorio de bairro que tem a seguinte estrutura em MYSQL :-o

CREATE TABLE bairro (
CODIGO int(11) NOT NULL AUTO_INCREMENT,
NOME varchar(40) DEFAULT NULL,
PRIMARY KEY (CODIGO)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.classes.relatorios;
import br.com.classes.Bairro;

import java.util.HashMap;

import java.util.List;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import net.sf.jasperreports.view.JasperViewer;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.AnnotationConfiguration;

import org.hibernate.cfg.Configuration;

/**
*

  • @author Anderson Pereira de Lima Jeronimo
    */
    public class RelatBairroHibernate {

    public RelatBairroHibernate() {

    try {
    
         //Informe o arquivo XML que contém a configurações
         Configuration cfg = new AnnotationConfiguration();
         cfg.configure("/br/com/configuracao/hibernate.cfg.xml");
         //Cria uma fábrica de sessões.
         //Deve existir apenas uma instância na aplicação5
         SessionFactory sf = cfg.buildSessionFactory();
         // Abre sessão com o Hibernate
         Session session = sf.openSession();
         //Cria uma transação
         Transaction tx = session.beginTransaction();
         List list = session.createQuery("from Bairro").list();
         HashMap map = new HashMap();
         JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
    
         JasperPrint rel = JasperFillManager.fillReport("relatorio/relBairros.jasper", map, ds);
         JasperViewer.viewReport(rel);
    
     } catch (JRException ex) {
         ex.printStackTrace();
     }
    
    /*try {
    
    JasperExportManager.exportReportToPdfFile(relatorio/relBairros.jasper);
    
    } catch (JRException ex) {
    
    ex.printStackTrace();
    
    }
    
    try {
    
    // JasperViewer.viewReport(jasperPrint);
    
    } catch (JRException ex) {
    
    ex.printStackTrace();
    
    }
    

    }

    public static void main(String[] args) {
    
    new RelatBairroHibernate();
    
    }
    
    }
    

:roll:    ela está dando o seguinte erro!!!!

init:

deps-jar:

Compiling 1 source file to C:\EstoqueHibernate\build\classes

compile-single:

run-single:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).

log4j:WARN Please initialize the log4j system properly.

Hibernate: select bairro0_.CODIGO as CODIGO0_, bairro0_.NOME as NOME0_ from bairro bairro0_

net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : CODIGO

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:116)

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:93)

at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:104)

at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:799)

at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:763)

at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1078)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:107)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:751)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:679)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)

at br.com.classes.relatorios.RelatBairroHibernate.<init>(RelatBairroHibernate.java:45)

at br.com.classes.relatorios.RelatBairroHibernate.main(RelatBairroHibernate.java:66)

Caused by: java.lang.NoSuchMethodException: Unknown property CODIGO

at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)

at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)

at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)

at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)

at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:104)

 13 more

2 Respostas

marciofermino

desculpe mais posso estar falando besteira… mais dentro da lib do ireport tem um lib para o hiber… vc empacotou junto?

limaand

[color=black]Eu empacotei todos os .jar do ireport menos um chamado xalan[/color]

Criado 1 de outubro de 2008
Ultima resposta 1 de out. de 2008
Respostas 2
Participantes 2