2012-04-21 8 views
5

¿Cuál podría ser el problema?"Consulta con nombre desconocido" para la consulta de Hibernate con nombre?

@Entity 
@NamedQueries({ 
    @NamedQuery(name = User.ALL, 
       query = "SELECT u FROM User u") 
}) 

public class User { 
    public static final String ALL = "User.all"; 
} 

public class Service { 
    find... with ... User.ALL 
} 

StackTrace:

Caused by: org.hibernate.MappingException: Named query not known: User.all 
    at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:93) 
    at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1407) 
    at $Session_a5ad46cfa25.getNamedQuery(Unknown Source) 
    at $Session_a5ad46cf913.getNamedQuery(Unknown Source) 
    at de.medicshare.dal.HibernateCrudServiceDAO.findUniqueWithNamedQuery(HibernateCrudServiceDAO.java:83) 
    at $CrudServiceDAO_a5ad46cfa19.findUniqueWithNamedQuery(Unknown Source) 
    at $CrudServiceDAO_a5ad46cfa1b.findUniqueWithNamedQuery(Unknown Source) 
    at $CrudServiceDAO_a5ad46cf931.findUniqueWithNamedQuery(Unknown Source) 
    at de.medicshare.pages.Signup.proceedSignup(Signup.java:82) 
    at de.medicshare.pages.Signup.dispatchComponentEvent(Signup.java) 
    at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:923) 
    at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1106) 
    ... 90 more 
+0

¿por qué no usar solo name = "User.all"? – Nurlan

+0

Eclipse solo puede confirmar el uso de constantes. Entonces, si creo la consulta con '" User.all "' es una cadena que no se verifica. Se comprueba el uso de 'User.ALL' antes de compilar si lo deletreo mal. – membersound

+1

¿Puedes publicar tu hibernate.cfg.xml/persistence.xml? –

Respuesta

2

No estoy seguro si este será su problema, pero echa un vistazo a este post here.

El tema fue el uso de:

org.hibernate.annotations.Entity 

En lugar de:

javax.persistence.Entity 
+0

Ese es un buen punto a tener en cuenta, pero usé la importación correcta en caso de maza, desafortunadamente. – membersound

+0

Ahh bien vale la pena intentarlo. ¿Ha declarado la clase en su hibernate.cfg.xml (las extensiones al final pueden variar) como ? –

Cuestiones relacionadas