Pregunta

Busco una detección entidad en OpenJPA. Que no es necesario declarar todas las entidades en el persistence.xml.

Edit: Lo siento, se me olvidó decir que desarrollo una aplicación Java SE.

Otros consejos

Por la especificación JPA, debe enumerar todas las clases de forma explícita en un entorno Java SE:

  

6.2.1.6 mapeo-archivo, fichero-jar, clase, excluimos-UNLISTED-clases

     

(...)

     

Una lista de persistencia administrada denominada   clases también pueden ser especificados en vez   de, o además de, los archivos JAR   y archivos de asignación. cualquier asignación   anotaciones de metadatos encuentran en estos   clases serán procesados, o   será asignada utilizando el mapeo   incumplimientos de anotación. El elemento de clase   se utiliza para enumerar una persistencia gestionada   clase. Una lista de todos nombrados lograron   clases de persistencia se debe especificar   en entornos Java SE para asegurar   portabilidad. Portable Java SE   aplicaciones no deben confiar en la   otros mecanismos descritos aquí para   especifique la persistencia gestionada   clases de una unidad de persistencia.   Persistencia proveedores también pueden requerir   que el conjunto de clases de entidad y   clases que se van a gestionar deben estar   plenamente enumerado en cada una de las   persistence.xml archivos en Java SE   ambientes.

     

Todas las clases contenidas en la raíz de   la unidad de persistencia también se buscan   para la persistencia gestionada anotada   clases y cualquier metadatos de mapeo   anotaciones que se encuentran en ellos serán   procesan, o serán mapeados   utilizando los valores por defecto de mapeo de anotación.   Si no se pretende que la   anotada persistencia clases   contenida en la raíz de la   unidad de persistencia se incluirá en el   unidad de persistencia, la   elemento exclude-unlisted-classes   debería ser usado. los   elemento exclude-unlisted-classes es   no destinadas a su uso en Java SE   ambientes.

Ahora, si no te importa estar no es portátil, es posible utilizar una extensión de proveedor, pero no pude encontrar algo similar a la propiedad hibernate.archive.autodetection de Hibernate en OpenJPA.

APP integración de la primavera (que permite el escaneo ruta de clase más flexible) es otra opción.

También existe la APP-plugin que puede hacer esto para usted. La última versión no está disponible en Maven central por lo que tendrá para clonar y construir usted mismo.

JPA-Plugin

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top