Ficheros de consultas JPA
Hola amigos, tengo un problema a la hora de desplegar una Enterprise. App con el serv. glassfish v.2, el caso es que no encuentra los ficheros .xml donde tengo las consultas JPQL, pero el hecho es que estan ahi, en la misma ruta que pone en la traza y no los encuentra.
cu/albet/sigesap/accesoDatos/consultas/sigesap_consultas_tramite.xml este es el fichero que no encuentra, sin embargo cuando voy a esa misma ruta en el proyecto encuentro que el fchero esta ahi.
Le agradeceria infinitamente a quien pueda ayudarme.
Aqui esta un pedazo de la traza.
Caused by: Exception [TOPLINK-7253] (Oracle TopLink Essentials - 2.1 (Build b31g-fcs (10/19/2009))): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: There is no mapping file called [cu/albet/sigesap/accesoDatos/consultas/sigesap_consultas_tramite.xml] in classpath for persistence unit named [Solucion_Gestion-ejbPU].
at oracle.toplink.essentials.exceptions.ValidationException.mappingFileNotFound(ValidationException.java:2159)
at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.readExplicitlySpecifiedMappingFiles(MetadataProcessor.java:528)
at oracle.toplink.essentials.internal.ejb.cmp3.metadata.MetadataProcessor.readMappingFiles(MetadataProcessor.java:552)
at oracle.toplink.essentials.ejb.cmp3.persistence.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:333)
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:608)
... 73 more
- Inicie sesión o regístrese para enviar comentarios
.. uhhmmm
uhhmmm
Creo que se necesita más información para ayudarte, pero claramente lo que pasa es que no se encuentra el archivo.
Yo te recomendaría tres cosas:
Si estas 'deployando' un ear o war, y , en general, no dependas de paths duros a archivos. ..por que si no pasa esto. :)
Asegúrate de que el usuario de Glassfish puede ver el archivo….
… pero mejor: mueve el xml a donde tienes tu persistent.xml y no uses paths absolutos.
-Alex
@avazqueznj, ese path parece
@avazqueznj, ese path parece relativo.
Pero a juzgar pro el mensaje, toplink lo quiere encontrar en el classpath, así que pon el archivo en algún lugar de tu applicación donde esten las clases y/o en algún folder que sepas que está incluido en el classpath.
Por ejemplo si fuera una aplicación web:
Lo podrias poner en
O donde aplique en tu ear.
... será
Hola Sr Oscar
Tiene razón; es que lo ví muy largo...
Anyway, yo creo que lo mejor es ponerlo junto con el persistent.xml, con quiene está relacionado.
Eso sería en netbeans y glassfish ****-ejb/src/conf .. para que se empaquete en el META-INF del **.jar.
Como lo ve? Además de que así sería fácil de localizar para otros.
... para mi por lo menos. ;)
Saludos
-Alejandro