Erro em formulário de amostra mestre detalhe

6 respostas
I

Pessoal, seguinte… sou iniciante em java, estou fazendo alguns cursos em vídeo, em um destes cursos estou desenvolvendo um projeto de controle de estoque em Java SE. Até o momento vinha tudo ocorrendo normalmente, até que hoje fui fazer o formulário de cadastro de unidades de produtos. Fiz o mesmo procedimento que fiz com os outros formulários até agora, porém ao executar o projeto recebi uma exceção do netbeans:

Exception in thread AWT-EventQueue-0 java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager

at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:209)

at br.com.siscom.view.UnidadeView.initComponents(UnidadeView.java:45)

at br.com.siscom.view.UnidadeView.(UnidadeView.java:28)

at br.com.siscom.view.UnidadeView$1.run(UnidadeView.java:274)

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

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)

at java.awt.EventQueue.access$000(EventQueue.java:101)

at java.awt.EventQueue$3.run(EventQueue.java:666)

at java.awt.EventQueue$3.run(EventQueue.java:664)

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

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

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

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

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

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

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

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

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

Caused by: Exception [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException

Exception Description: Error compiling the query [SELECT u FROM Unidade u]. Unknown abstract schema type [Unidade].

at oracle.toplink.essentials.exceptions.EJBQLException.unknownAbstractSchemaType(EJBQLException.java:494)

at oracle.toplink.essentials.internal.parsing.ParseTreeContext.classForSchemaName(ParseTreeContext.java:163)

at oracle.toplink.essentials.internal.parsing.SelectNode.getClassOfFirstVariable(SelectNode.java:366)

at oracle.toplink.essentials.internal.parsing.SelectNode.getReferenceClass(SelectNode.java:354)

at oracle.toplink.essentials.internal.parsing.ParseTree.getReferenceClass(ParseTree.java:463)

at oracle.toplink.essentials.internal.parsing.ParseTree.adjustReferenceClassForQuery(ParseTree.java:103)

at oracle.toplink.essentials.internal.parsing.EJBQLParseTree.populateReadQueryInternal(EJBQLParseTree.java:127)

at oracle.toplink.essentials.internal.parsing.EJBQLParseTree.populateQuery(EJBQLParseTree.java:108)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:219)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:189)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:153)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.(EJBQueryImpl.java:114)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.(EJBQueryImpl.java:99)

at oracle.toplink.essentials.internal.ejb.cmp3.EJBQueryImpl.(EJBQueryImpl.java:86)

at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:204)

 17 more

Exception in thread AWT-EventQueue-0 java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager

at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:209)

at br.com.siscom.view.UnidadeView.initComponents(UnidadeView.java:45)

at br.com.siscom.view.UnidadeView.(UnidadeView.java:28)

at br.com.siscom.view.UnidadeView$1.run(UnidadeView.java:274)

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

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)

at java.awt.EventQueue.access$000(EventQueue.java:101)

at java.awt.EventQueue$3.run(EventQueue.java:666)

at java.awt.EventQueue$3.run(EventQueue.java:664)

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

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

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

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

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

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

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

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

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

Caused by: Exception [TOPLINK-8034] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.EJBQLException

Exception Description: Error compiling the query [SELECT u FROM Unidade u]. Unknown abstract schema type [Unidade].

at oracle.toplink.essentials.exceptions.EJBQLException.unknownAbstractSchemaType(EJBQLException.java:494)

at oracle.toplink.essentials.internal.parsing.ParseTreeContext.classForSchemaName(ParseTreeContext.java:163)

at oracle.toplink.essentials.internal.parsing.SelectNode.getClassOfFirstVariable(SelectNode.java:366)

at oracle.toplink.essentials.internal.parsing.SelectNode.getReferenceClass(SelectNode.java:354)

at oracle.toplink.essentials.internal.parsing.ParseTree.getReferenceClass(ParseTree.java:463)

at oracle.toplink.essentials.internal.parsing.ParseTree.adjustReferenceClassForQuery(ParseTree.java:103)

at oracle.toplink.essentials.internal.parsing.EJBQLParseTree.populateReadQueryInternal(EJBQLParseTree.java:127)

at oracle.toplink.essentials.internal.parsing.EJBQLParseTree.populateQuery(EJBQLParseTree.java:108)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:219)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:189)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.buildEJBQLDatabaseQuery(EJBQueryImpl.java:153)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.(EJBQueryImpl.java:114)

at oracle.toplink.essentials.internal.ejb.cmp3.base.EJBQueryImpl.(EJBQueryImpl.java:99)

at oracle.toplink.essentials.internal.ejb.cmp3.EJBQueryImpl.(EJBQueryImpl.java:86)

at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:204)

 17 more

se alguém puder me ajudar, fico grato… não tenho muito conhecimento ainda… comecei os estudos agora em janeiro, por isso estou meio perdido… Abraços…

6 Respostas

A

Concerteza você está usando o NetBens para criar uma vinculação entre sua JTable e su Banco de dados, por que esse erro "query in EntityManager" , e da FrameWork Top Link da Oracle, cara tenta não usar o NetBens para vincular dados na sua JTable, eu também tive esses problemas, todos eles só foram resolvidos quando começei a usar AbstractTableModel -->> http://www.guj.com.br/articles/147
–>> http://www.guj.com.br/java/210846-abstracttablemodel---pequeno-tutorial

I

hehe… o que não me conformo é que já criei 6 formulários com os mesmos procedimentos… e todos estão funcionando perfeitamente…

A

Certo, eu ja passei por isso, procure não utilizar muito isso ai não, procure estudar AbstractTableModel, você minimizará muito seus problemas com JTable!!

I

ok, vou estudar o abstract pra ver s consigo dar andamento no projeto… obrigado…

I

consegui resolver o problema… de uma forma estranha… mandei o netbeans testar o projeto… depois de feito o teste, a classe passou a funcionar normal… obrigado…

ViniGodoy

Se você não entendeu porque o problema veio, e porque esse procedimento o corrigiu, então, você não corrigiu o problema.

Para evitar ter problemas no futuro, siga a dica do Anderson. Isso evitará surpresas no futuro.

Criado 3 de fevereiro de 2012
Ultima resposta 4 de fev. de 2012
Respostas 6
Participantes 3