Uso la persistencia JPA para mis modelos de datos con Eclipselink como proveedor de persistencia. Tengo una aplicación modular (OSGi) y uno de los módulos contiene el modelo de datos estándar y una unidad de persistencia que incluye automáticamente todas las entidades del paquete. El proveedor de persistencia está en otro módulo, que funciona bien.¿Cómo puedo fusionar/extender unidades de persistencia desde diferentes JAR?
Ahora quiero un tercer módulo para agregar algunas entidades a la unidad de persistencia. ¿Cómo puedo hacer eso? Encontré this solution, que parece específico de Spring que no estoy usando. El resumen de ese enfoque es escribir un postprocesador que se enganche en el procesamiento de la unidad de persistencia y combina manualmente las entradas <class>
de los archivos persistence.xml
.
¿Es posible fusionar unidades de persistencia? ¿Alguien puede sugerir una solución alternativa?
¿Se supone que los tres módulos están en un solo .ear? –
No, cada módulo es un JAR que luego se carga en un contenedor OSGi (Apache Felix, en mi caso). Eclipselink está en su propio JAR o en uno de los módulos y escanea paquetes visibles para archivos persistence.xml. Esto funciona bien –