nefertiti 24 de jul. de 2006
Olá…
Não sei se é bem isso que você quer:
Session session = HibernateUtility . getSession ();
Criteria criteria = session . createCriteria ( Proprietario . class );
List proprietarios = criteria . list ();
String pathArquivo = "C:/ProprietarioRelatorio.jasper" ;
HashMap parameters = new HashMap ();
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource ( proprietarios );
JasperReport jasperReport = JasperManager . loadReport ( pathArquivo );
JasperPrint jasperPrint = JasperFillManager . fillReport ( jasperReport , parameters , ds );
JasperManager . printReportToPdfFile ( jasperPrint , "C:\ProprietarioRelatorio.pdf" );
JRViewer view = new JRViewer ( jasperPrint );
view . setVisible ( true );
E vc utilizou o iReport?..porque não consigo fazer relatório com Hibernate utilizando o iReport.
Até mais
Patty
efukuda 24 de jul. de 2006
Então Patty eu fiz da mesma forma que você mas dá erro.
Eu utilizai o JasperReports. Como eu disse eu só consegui gerar o relatorio com o jdbc, com o hibernate não.
A menssagem de erro é o seguinte:
Exception in thread “main ” java .lang .NoClassDefFoundError : org / apache / commons / beanutils / PropertyUtils
at net .sf .jasperreports .engine .data .JRAbstractBeanDataSource .getBeanProperty ( JRAbstractBeanDataSource .java :104 )
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 .next ( JRFillDataset .java :766 )
at net .sf .jasperreports .engine .fill .JRBaseFiller .next ( JRBaseFiller .java :991 )
at net .sf .jasperreports .engine .fill .JRVerticalFiller .fillReport ( JRVerticalFiller .java :126 )
at net .sf .jasperreports .engine .fill .JRBaseFiller .fill ( JRBaseFiller .java :750 )
at net .sf .jasperreports .engine .fill .JRBaseFiller .fill ( JRBaseFiller .java :666 )
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 .JasperManager .fillReport ( JasperManager .java :836 )
at com .hibernate .jasper .main .MainReports .main ( MainReports .java :59 )
nefertiti:
Olá…
Não sei se é bem isso que você quer:
Session session = HibernateUtility . getSession ();
Criteria criteria = session . createCriteria ( Proprietario . class );
List proprietarios = criteria . list ();
String pathArquivo = "C:/ProprietarioRelatorio.jasper" ;
HashMap parameters = new HashMap ();
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource ( proprietarios );
JasperReport jasperReport = JasperManager . loadReport ( pathArquivo );
JasperPrint jasperPrint = JasperFillManager . fillReport ( jasperReport , parameters , ds );
JasperManager . printReportToPdfFile ( jasperPrint , "C:\ProprietarioRelatorio.pdf" );
JRViewer view = new JRViewer ( jasperPrint );
view . setVisible ( true );
E vc utilizou o iReport?..porque não consigo fazer relatório com Hibernate utilizando o iReport.
Até mais
Patty
nefertiti 24 de jul. de 2006
Olá…
Você colocou os seguintes .jar no classpath de sua aplicação?
commons - beanutils - 1.5
itext - 1.3.1
Se não colocar esses dois .jar (ou versões mais atuais), ele não funciona…
Até mais
Patty
efukuda 24 de jul. de 2006
O itext-1.3.1 eu já tinha. |Só o outro que estava faltando. Mas mesmo colocando o commons-beanutils-1.5 no meu classpath deu um outro erro:
Exception in thread “ main ” java . lang . ClassCastException : java . lang . Integer
at RelatorioTeste_1153141696796_42303 . evaluate ( RelatorioTeste_1153141696796_42303 : 162 )
at net . sf . jasperreports . engine . fill . JREvaluator . evaluate ( JREvaluator . java : 172 )
at net . sf . jasperreports . engine . fill . JRCalculator . evaluate ( JRCalculator . java : 536 )
at net . sf . jasperreports . engine . fill . JRCalculator . evaluate ( JRCalculator . java : 504 )
at net . sf . jasperreports . engine . fill . JRFillElement . evaluateExpression ( JRFillElement . java : 806 )
at net . sf . jasperreports . engine . fill . JRFillTextField . evaluateText ( JRFillTextField . java : 338 )
at net . sf . jasperreports . engine . fill . JRFillTextField . evaluate ( JRFillTextField . java : 325 )
at net . sf . jasperreports . engine . fill . JRFillElementContainer . evaluate ( JRFillElementContainer . java : 277 )
at net . sf . jasperreports . engine . fill . JRFillBand . evaluate ( JRFillBand . java : 399 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillColumnBand ( JRVerticalFiller . java : 1289 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillDetail ( JRVerticalFiller . java : 631 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillReportStart ( JRVerticalFiller . java : 228 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillReport ( JRVerticalFiller . java : 128 )
at net . sf . jasperreports . engine . fill . JRBaseFiller . fill ( JRBaseFiller . java : 750 )
at net . sf . jasperreports . engine . fill . JRBaseFiller . fill ( JRBaseFiller . java : 666 )
at net . sf . jasperreports . engine . fill . JRFiller . fillReport ( JRFiller . java : 89 )
at net . sf . jasperreports . engine . JasperFillManager . fillReport ( JasperFillManager . java : 601 )
at com . hibernate . jasper . main . MainReports . main ( MainReports . java : 58 )
NESTED BY :
net . sf . jasperreports . engine . fill . JRExpressionEvalException : Error evaluating expression :
Source text : $F { id }
at net . sf . jasperreports . engine . fill . JREvaluator . evaluate ( JREvaluator . java : 183 )
at net . sf . jasperreports . engine . fill . JRCalculator . evaluate ( JRCalculator . java : 536 )
at net . sf . jasperreports . engine . fill . JRCalculator . evaluate ( JRCalculator . java : 504 )
at net . sf . jasperreports . engine . fill . JRFillElement . evaluateExpression ( JRFillElement . java : 806 )
at net . sf . jasperreports . engine . fill . JRFillTextField . evaluateText ( JRFillTextField . java : 338 )
at net . sf . jasperreports . engine . fill . JRFillTextField . evaluate ( JRFillTextField . java : 325 )
at net . sf . jasperreports . engine . fill . JRFillElementContainer . evaluate ( JRFillElementContainer . java : 277 )
at net . sf . jasperreports . engine . fill . JRFillBand . evaluate ( JRFillBand . java : 399 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillColumnBand ( JRVerticalFiller . java : 1289 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillDetail ( JRVerticalFiller . java : 631 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillReportStart ( JRVerticalFiller . java : 228 )
at net . sf . jasperreports . engine . fill . JRVerticalFiller . fillReport ( JRVerticalFiller . java : 128 )
at net . sf . jasperreports . engine . fill . JRBaseFiller . fill ( JRBaseFiller . java : 750 )
at net . sf . jasperreports . engine . fill . JRBaseFiller . fill ( JRBaseFiller . java : 666 )
at net . sf . jasperreports . engine . fill . JRFiller . fillReport ( JRFiller . java : 89 )
at net . sf . jasperreports . engine . JasperFillManager . fillReport ( JasperFillManager . java : 601 )
at com . hibernate . jasper . main . MainReports . main ( MainReports . java : 58 )
Caused by : java . lang . ClassCastException : java . lang . Integer
at RelatorioTeste_1153141696796_42303 . evaluate ( RelatorioTeste_1153141696796_42303 : 162 )
at net . sf . jasperreports . engine . fill . JREvaluator . evaluate ( JREvaluator . java : 172 )
… 16 more
nefertiti:
Olá…
Você colocou os seguintes .jar no classpath de sua aplicação?
commons - beanutils - 1.5
itext - 1.3.1
Se não colocar esses dois .jar (ou versões mais atuais), ele não funciona…
Até mais
Patty
nefertiti 24 de jul. de 2006
Olá…
Olhe as seguintes linhas:
net . sf . jasperreports . engine . fill . JRExpressionEvalException : Error evaluating expression :
Source text : $F { id }
E:
Caused by : java . lang . ClassCastException : java . lang . Integer
at RelatorioTeste_1153141696796_42303 . evaluate ( RelatorioTeste_1153141696796_42303 : 162 )
at net . sf . jasperreports . engine . fill . JREvaluator . evaluate ( JREvaluator . java : 172 )
Dê uma olhada no Field “$F{id}”
Até mais
Patty
efukuda 25 de jul. de 2006
Então Patty eu dei uma olhada no field id e realmente estava com o tipo errado. Estava como double ao invés de integer.
Após estas mudanças eu compilei mas não aconteceu nada. Não de erro mas também não abriu o relatório.
Até mais
Eduardo
nefertiti:
Olá…
Olhe as seguintes linhas:
net . sf . jasperreports . engine . fill . JRExpressionEvalException : Error evaluating expression :
Source text : $F { id }
E:
Caused by : java . lang . ClassCastException : java . lang . Integer
at RelatorioTeste_1153141696796_42303 . evaluate ( RelatorioTeste_1153141696796_42303 : 162 )
at net . sf . jasperreports . engine . fill . JREvaluator . evaluate ( JREvaluator . java : 172 )
Dê uma olhada no Field “$F{id}”
Até mais
Patty
nefertiti 25 de jul. de 2006
Oi…
Você viu se foi gerado o arquivo .pdf no diretório C:\ ?
Até mais
Patty
efukuda 25 de jul. de 2006
Não gerou o arquivo em pdf. Mas só agora que me apareceu que o JasperManager é deprecated.
Nestas duas linhas que me aparece isso:
JasperReport jasperReport = JasperManager.loadReport(address + name + “.jasper”);
JasperManager.printReportToPdfFile(jasperPrint, address + name + “.jasper”);
nefertiti:
Oi…
Você viu se foi gerado o arquivo .pdf no diretório C:\ ?
Até mais
Patty
efukuda 26 de jul. de 2006
Consegui resolver o meu problema.
Sabe o exemplo que vc me passou, então toda vez que eu compilava o meu código corrompia o arquivo .jasper.
A primeira vez que eu rodava o programa ele não dava erro nenhum mas tambem não acontecia nada. Na segunda vez que eu rodava o meu programa ele dava erro (arquivo corrompido).
Mas agora eu resolvi o problema. Consegui abrir os relatorios em pdf.
Obrigado pela paciência.
Eduardo
[quote=nefertiti]Oi…
Você viu se foi gerado o arquivo .pdf no diretório C:\ ?
Até mais
Patty