teoria programacion persistencia mapear implementar entidades con anotaciones and java hibernate jpa annotations

java - programacion - mapear entidades hibernate



Anotaciones de Hibernate/JPA-Entidad desconocida (3)

Una aplicación que ha estado funcionando bien durante meses ha dejado de recoger las anotaciones JPA @Entity que han sido parte de ella durante meses. A medida que se ejecutan mis pruebas de integración, veo docenas de errores tipo " org.hibernate.MappingException: Unknown entity: com.whatever.OrderSystem ".

No está claro para mí lo que salió mal aquí.

No tengo ningún archivo hibernate.cfg.xml porque estoy usando Hibernate Entity Manager. Como uso exclusivamente anotaciones, no hay archivos .hbm.xml para mis entidades. Mi archivo persistence.xml es mínimo y vive en META-INF como se supone que debe hacerlo.

Obviamente me falta algo, pero no puedo entenderlo.

Estoy usando hibernate-annotations 3.2.1, hibernate-entitymanager 3.2.1, persistence-api 1.0 e hibernate 3.2.1. hibernate-commons-annotations también forma parte del POM del proyecto, pero no sé si eso es relevante.

¿Hay una entrada web.xml que se ha desvanecido o una entrada de configuración Spring que se ha eliminado accidentalmente?


Me parece recordar que tuve un problema similar al mismo tiempo.

Es una posibilidad remota, pero si aún no lo hace, ¿ha especificado explícitamente el proveedor que está utilizando?

<persistence ...> <persistence-unit ...> <provider>org.hibernate.ejb.HibernatePersistence</provider> <---- explicit setting .... </persistence-unit> </persistence>

De lo contrario, no estoy seguro?


verifica en tu entidad classe que importas javax.persistent.Entity y no org.hibernate.annotations.Entity


¿Esto está sucediendo para una clase específica (pocas clases) o todas las clases de entidad? El archivo persistence.xml tiene una lista de clase y / o archivos jar que deben escanearse para asignaciones @Entity. Si estaba trabajando antes, puede hacer una rápida diferencia con la versión de persistence.xml que estaba funcionando correctamente. Otro problema podría ser que está recogiendo un archivo persistence.xml diferente; puede verificarlo introduciendo un error (por ejemplo, no validando el xml) en persistence.xml.