estoy recibiendo la siguiente excepción:consulta con nombre desconocido - Anotaciones de Hibernate y
org.springframework.orm.hibernate3.HibernateSystemException: Named query not known:
Entidad cabecera de la clase:
@Entity
@NamedNativeQuery(callable = true, name = "_Foo_SP", query = "call _Foo()", readOnly = true, resultClass = Foo.class)
public class Foo {
//...properties omitted for brevity
}
En el hibernate.cfg.xml:
<mapping
class="com.company.test.Foo" />
Y en una clase de prueba:
private static HibernateTemplate HIBERNATE_TEMPLATE;
public static void main(final String[] args) {
HIBERNATE_TEMPLATE =
new HibernateTemplate(new AnnotationConfiguration().addAnnotatedClass(Foo.class).configure().buildSessionFactory());
new HibernateTest().test();
}
public void test() {
List findByNamedQuery = HIBERNATE_TEMPLATE.findByNamedQuery("_Foo_SP");
for(Object object : findByNamedQuery) {
System.out.println(object);
System.out.println(object.getClass().getName());
}
}
Lo hice funcionar sin anotaciones (por ejemplo: con la asignación en un archivo de mapeo) pero parece más intuitivo simplemente usar las anotaciones JPA para declarar mapeos, pero parece que no puedo hacer que funcione.
¿Qué estoy haciendo mal aquí? ¿Es lo que estoy tratando de hacer posible? Parece que no soy el único en encontrar esto, ver: here.
Estoy usando hibernate 3.5.6-FINAL FWIW.
TIA
He intentado por mí mismo su muestra y funciona bien. Intente eliminar de hibernate.cfg.xml una vez que lo haya declarado en AnnotationConfiguration –
Lo intenté y no funcionó. – javamonkey79