Múltiples etiquetas de unidad de persistencia en una persistencia.XML


Ahora estoy trabajando con un proyecto de JPA 2.0 (en Eclipse Indigo). En mi persistencia.archivo xml Necesito especificar dos etiquetas , porque tengo dos bases de datos diferentes con las que trabajar. Al hacer esto, recibo la siguiente advertencia:

Múltiples unidades de persistencia definidas-solo se reconocerá la primera unidad de persistencia

Aún más, si creo mis entidades y las pongo en mi segunda , obtengo un error diciendo que mi entidad no está declarada en un unidad de persistencia:

Clase " mi.paquete.MyClass " está mapeado, pero no está incluido en ninguna unidad de persistencia

Entonces, la pregunta es: es posible declarar (y usarlas como se espera) muchas etiquetas en persistence.archivo xml? En caso afirmativo, ¿qué debo hacer para obtener el comportamiento preciso?

Gracias!

Author: artaxerxe, 2011-12-06

2 answers

JPA no limita el número de unidades de persistencia definidas en persistencia.XML. Esta advertencia solo indica la limitación de la herramienta en Eclipse IDE. Esto se dice por ejemplo aquí http://www.eclipse.org/webtools/dali/gettingstarted.php :

Actualmente Dali solo admite una Unidad de Persistencia y una Persistencia Archivo XML por proyecto. Otras configuraciones pueden existir en un proyecto JPA, pero la validación y el procesamiento por defecto pueden no ser correctos cuando persistencia múltiple se utilizan unidades.

Supongo que no hay forma conocida de obtener este trabajo en Eclipse IDE.

 40
Author: Mikko Maunu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-22 14:11:40

Si bien esto es válido para JPA, también puede desactivar las notificaciones de error resultantes (molestas) por proyecto entrando en

Project Properties => JPA => Errors/Warnings

Active Enable project specific settings y en Type, cambie el nivel de notificación de Class is mapped but is not in a persistence unit de Error a cualquier otra cosa con la que se sienta cómodo.

Actualización para Eclipse Luna:

La ubicación y el nombre de la configuración han cambiado en Luna. La nueva ubicación es:

Project Properties => JPA => Errors/Warnings

Compruebe Enable project specific settings

Ampliar Project grupo

Cambiar Multiple persistence units defined: a Ignore.

introduzca la descripción de la imagen aquí

 28
Author: VH-NZZ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-04 10:31:25