Leandro
unread,Dec 20, 2010, 5:32:48 PM12/20/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to JavaSOS
Hola grupo
Antes que nada pido perdon por las molestias, sigo con esta aplicación
Swing - JPA que comente en otros posts anteriores y ahora tengo un
error muy raro que me ocurre a veces, yo tengo una Entidad Pedido, y
su respectivo JPAController, para manejar la persistencia, y resulta
que algunas veces cuando llamo a algunos metodos de el JPAController,
me da la siguiente excepcion
ception in thread "AWT-EventQueue-0"
java.lang.IllegalArgumentException: The type [null] is not the
expected [EntityType] for the key class [class entidades.Pedido].
at
org.eclipse.persistence.internal.jpa.metamodel.MetamodelImpl.entity(MetamodelImpl.java:
152)
at
org.eclipse.persistence.internal.jpa.querydef.AbstractQueryImpl.from(AbstractQueryImpl.java:
97)
at
logica.jpaControllers.PedidoJpaController.getPedidoCount(PedidoJpaController.java:
131)
at
logica.ExpertoGestionarPedidos.ultimoPedido(ExpertoGestionarPedidos.java:
39)
at
logica.ExpertoGestionarPedidos.generarPedido(ExpertoGestionarPedidos.java:
47)
at logica.ExpertoVentas.generarVenta(ExpertoVentas.java:94)
at
logica.ControladorVentas.generarVenta(ControladorVentas.java:34)
at
presentacion.PuntoVentas.jButtonOkActionPerformed(PuntoVentas.java:
279)
at presentacion.PuntoVentas.access$400(PuntoVentas.java:30)
at presentacion.PuntoVentas$6.actionPerformed(PuntoVentas.java:
149)
...
Mas que nada me parece que es cuando llama a Pedido.class en los
metodos, en especial en el getPedidoCount()
public int getPedidoCount() {
EntityManager em = getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
Root<Pedido> rt = cq.from(Pedido.class);
cq.select(em.getCriteriaBuilder().count(rt));
Query q = em.createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
} finally {
em.close();
}
}
si alguien sabe por que sera, aprecio una respuesta
muchas gracias!