Saudações,
Estou seguindo o tutorial de JPA com Netbeans do Paulo Canhedo e me deparei com o seguinte erro:
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:180)
at com.gui.ClienteTabela.<init>(ClienteTabela.java:38)
at Main.initComponents(Main.java:108)
at Main.<init>(Main.java:32)
at Main$3.run(Main.java:185)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: Exception [TOPLINK-8006] (Oracle TopLink Essentials - 2006.8 (Build 060830)): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: A problem was encountered resolving the class name - The descriptor for [clientes] was not found.
at oracle.toplink.essentials.exceptions.EJBQLException.missingDescriptorException(EJBQLException.java:158)
at oracle.toplink.essentials.internal.parsing.ParseTreeContext.classForSchemaName(ParseTreeContext.java:135)
at oracle.toplink.essentials.internal.parsing.VariableNode.resolveClass(VariableNode.java:222)
at oracle.toplink.essentials.internal.parsing.DotNode.resolveMapping(DotNode.java:195)
at oracle.toplink.essentials.internal.parsing.DotNode.endsWithDirectToField(DotNode.java:154)
Meu codigo esta identico ao dele, somente mudei o banco que é mysql.
Ele esta salvando normal, mas o erro ocorre em um:
em.createQuery("select c.id from clientes c").getResultList();
quando ele tenta carregar uma lista.
Segue o codigo:
public ClienteTabela() {
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
listaCliente = em.createQuery("select c.id from clientes c").getResultList();
for (Iterator<String> it = listaCliente.iterator(); it.hasNext();) {
String elem = it.next();
lista.add((Clientes) em.createNamedQuery("Clientes.findById").setParameter("id", elem).getSingleResult());
}
em.close();
}
grato