Erro criando uma conexão EJBQL no iReport(Resolvido)

4 respostas
E

aew pessoal, já estou há quase uma semana procurando na internet e não acho uma solução para criar uma conexão do iReport com EJBQL, já copiei o jar da minha aplicação para o classpatch do ireport e nada, este é o erro que aparece:

obs.: estou usando o plugin do ireport para o netbeans.

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.Ejb3Configuration

at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:119)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)

at com.jaspersoft.ireport.designer.connection.EJBQLConnection.getEntityManager(EJBQLConnection.java:138)

at com.jaspersoft.ireport.designer.connection.EJBQLConnection$1.run(EJBQLConnection.java:188)

at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)

at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)

at java.awt.Dialog$1.run(Dialog.java:1039)

at java.awt.Dialog$3.run(Dialog.java:1091)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:1089)

at java.awt.Component.show(Component.java:1419)

at java.awt.Component.setVisible(Component.java:1372)

at java.awt.Window.setVisible(Window.java:801)

at java.awt.Dialog.setVisible(Dialog.java:979)

at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog.jButtonNewParameterActionPerformed(ConnectionsDialog.java:539)

at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog.access$200(ConnectionsDialog.java:54)

at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog$6.actionPerformed(ConnectionsDialog.java:203)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:177)

at java.awt.Dialog$1.run(Dialog.java:1039)

at java.awt.Dialog$3.run(Dialog.java:1091)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:1089)

at java.awt.Component.show(Component.java:1419)

at java.awt.Component.setVisible(Component.java:1372)

at java.awt.Window.setVisible(Window.java:801)

at java.awt.Dialog.setVisible(Dialog.java:979)

at com.jaspersoft.ireport.designer.connection.gui.ConnectionsDialog.setVisible(ConnectionsDialog.java:605)

at com.jaspersoft.ireport.designer.menu.DatasourcesAction.performAction(DatasourcesAction.java:23)

at org.openide.util.actions.CallableSystemAction$1.run(CallableSystemAction.java:118)

at org.netbeans.modules.openide.util.ActionsBridge.doPerformAction(ActionsBridge.java:77)

at org.openide.util.actions.CallableSystemAction.actionPerformed(CallableSystemAction.java:114)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)

at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)

at java.awt.Component.processMouseEvent(Component.java:6038)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)

at org.openide.awt.ToolbarButton.processMouseEvent(ToolbarButton.java:61)

at java.awt.Component.processEvent(Component.java:5803)

at java.awt.Container.processEvent(Container.java:2058)

at java.awt.Component.dispatchEventImpl(Component.java:4410)

at java.awt.Container.dispatchEventImpl(Container.java:2116)

at java.awt.Component.dispatchEvent(Component.java:4240)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)

at java.awt.Container.dispatchEventImpl(Container.java:2102)

at java.awt.Window.dispatchEventImpl(Window.java:2429)

at java.awt.Component.dispatchEvent(Component.java:4240)

[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)

at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:104)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)

se alguém puder me ajudar agradeço.vlw

4 Respostas

josimarsis

Seguinte:

1° vc vai gerar um .jar da sua aplicação
2° vc vai no ireport opções/Classpath e adiciona o jar da sua aplicação lá
3° Escolhe a opção ejbql do ireport no campo Nome vc coloca qualquer nome para sua conexao
no campo Nome da Unidade Persistente vc coloca o nome da sua unidade de persistencia que fica
dentro do persistence.xml exemplo testePU e pronto !

qualquer coisa posta ai !

Tbm sou novo no JPA e tive esse problema. Caso vc possa me esclarecer como funciona o join em uma
consulta ejbql ?

grato !

E

kara já fiz isso tudo aew que vc falou e ainda continua dando erro:

java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.ejb.event.EJB3PersistEventListener
at org.hibernate.ejb.EventListenerConfigurator.<init>(EventListenerConfigurator.java:80)
at org.hibernate.ejb.Ejb3Configuration.<init>(Ejb3Configuration.java:132)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:119)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
at com.jaspersoft.ireport.designer.connection.EJBQLConnection.getEntityManager(EJBQLConnection.java:138)
at com.jaspersoft.ireport.designer.connection.EJBQLConnection$1.run(EJBQLConnection.java:188)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)

acho que pode ser o build que o netbeans gera ou algum problema com o hibernate. e quanto às consultas ejbql faço os joins ± assim:

‘from
empresa e
left join fetch e.funcionario f
where
e.id_empresa = 1’

desse jeito vc seleciona a empresa e todos os funcionários dela.

vlw.

E

fala galera consegui resolver o problema, deixei o plugin do ireport para o netbeans de lado, e passei a usar o ireport e atualizei os jars dentro da pasta lib do ireport e funcionou perfeitamente.

vlw pessoal pela ajuda.

C

Também estava com esse problema, resolvi fazendo os seguinte passo:
No Netbens fui em Ferramentas>Opções>iReport>Classpath;
Onde Adicionei os seguintes caminho e arquivos:
*Arquivos .jar do Toplink
*Drive do FireBird
*<Caminho da sua aplicação>\build\classes

Criado 19 de agosto de 2008
Ultima resposta 14 de dez. de 2008
Respostas 4
Participantes 3