Abrir relatorio com o hibernate?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

Olá pessoal,

Como eu faço para chamar meu relatório através do hibernate.
Para montar o relatório eu usei o JasperReports-1.2.4.

Com jdbc eu consigo chamar o relatorio, gerar um pdf ou html, etc...
Mas com o hibernate eu não consigo.

Até peguei um exemplo do guj mas não funciona.

Alguém poderia me ajudar?

Abraços
nefertiti
JavaChild
[Avatar]

Membro desde: 21/05/2004 11:52:43
Mensagens: 134
Localização: Curitiba/PR
Offline

Olá...

Não sei se é bem isso que você quer:



E vc utilizou o iReport?...porque não consigo fazer relatório com Hibernate utilizando o iReport.

Até mais

Patty

"O conhecimento humano faz parte do mundo"
"Não use drogas...use Software Livre!"
[Email] [WWW] [MSN]
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

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 wrote:Olá...

Não sei se é bem isso que você quer:



E vc utilizou o iReport?...porque não consigo fazer relatório com Hibernate utilizando o iReport.

Até mais

Patty
nefertiti
JavaChild
[Avatar]

Membro desde: 21/05/2004 11:52:43
Mensagens: 134
Localização: Curitiba/PR
Offline

Olá...

Você colocou os seguintes .jar no classpath de sua aplicação?



Se não colocar esses dois .jar (ou versões mais atuais), ele não funciona...

Até mais

Patty

"O conhecimento humano faz parte do mundo"
"Não use drogas...use Software Livre!"
[Email] [WWW] [MSN]
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

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:33
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:22
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:12
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:5

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:33
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:22
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:12
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:5
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 wrote:Olá...

Você colocou os seguintes .jar no classpath de sua aplicação?



Se não colocar esses dois .jar (ou versões mais atuais), ele não funciona...

Até mais

Patty
nefertiti
JavaChild
[Avatar]

Membro desde: 21/05/2004 11:52:43
Mensagens: 134
Localização: Curitiba/PR
Offline

Olá...

Olhe as seguintes linhas:



E:




Dê uma olhada no Field "$F{id}"

Até mais

Patty

"O conhecimento humano faz parte do mundo"
"Não use drogas...use Software Livre!"
[Email] [WWW] [MSN]
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

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 wrote:Olá...

Olhe as seguintes linhas:



E:




Dê uma olhada no Field "$F{id}"

Até mais

Patty
nefertiti
JavaChild
[Avatar]

Membro desde: 21/05/2004 11:52:43
Mensagens: 134
Localização: Curitiba/PR
Offline

Oi...

Você viu se foi gerado o arquivo .pdf no diretório C:\ ?

Até mais

Patty

"O conhecimento humano faz parte do mundo"
"Não use drogas...use Software Livre!"
[Email] [WWW] [MSN]
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

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 wrote:Oi...

Você viu se foi gerado o arquivo .pdf no diretório C:\ ?

Até mais

Patty
efukuda
JavaChild

Membro desde: 20/07/2006 14:33:08
Mensagens: 114
Offline

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



nefertiti wrote:Oi...

Você viu se foi gerado o arquivo .pdf no diretório C:\ ?

Até mais

Patty
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team