Esto hará que todas las clases de mapeo que están configuradas mediante mapeo se han tenidas en cuenta por el entityManager y sepa identificarlas.
El problema es cuando se tiene un fichero persistence-test.xml configurado para realizar las pruebas junit. Es posible que aún que este todo configurado correctamente, al realizar alguna operación de un error del tipo:
no persistent classes found for query classEsto es debido a que la función de autodetectar solo funciona para clases que se encuentran dentro del mismo classpath. Por lo tanto si estamos haciendo pruebas y tenemos un fichero propio de configuración para las pruebas, las carpetas donde se generan los fuentes de las clases y los de los test son carpetas diferentes (todo esto usando una estructura maven por defecto).
Para ello podemos intentar la siguiente solución, y es indicar en el fichero de configuración persistence.xml donde se encuentran estas clases. Esto lo podemos realizar de dos formas:
1. Haciendolo a mano e indicando una propiedad
2. Indicando el lugar donde se encuentran todos los class, por ejemplo indicando el fichero jar con los classes. Para ello indicamos la propiedad
Maven al sustituir las variables pondrá la correcta ruta donde se encuentra el jar.${project.build.outputDirectory}
No hay comentarios:
Publicar un comentario