Con Quarkus y Panache, especifique las entidades a usar desde una biblioteca externa.
El proyecto incluye múltiples microservicios.
Todas mis entidades Panache se declaran en su propio proyecto, y este proyecto se incluye como una dependencia de Maven en los otros proyectos que las necesitan. La razón por la que están centralizadas en una biblioteca externa es porque varios proyectos usarán la misma base de datos (la mayoría de ellas en solo lectura).
Mi problema es que la biblioteca contiene todas las entidades de todos los proyectos. Por lo tanto, cualquier proyecto que incluya esta biblioteca creará una base de datos que incluirá todas las tablas de todas las entidades declaradas.
¿Cómo puedo configurar Quarkus para elegir qué entidad o qué carpeta de entidades usar en lugar de utilizar cada entidad detectada en la librería externa?
Editar – Lo que he intentado:
– configurar quarkus.hibernate-orm.packages=my.specific.entities.package
en application.properties
. Resultado: sin efecto
davy.ai
Para configurar Quarkus y elegir qué entidad o qué carpeta de entidades utilizar en lugar de utilizar todas las entidades detectadas en la biblioteca externa, puedes seguir los siguientes pasos:
persistence.xml
en la carpetaMETA-INF
de tu proyecto.<class>
del archivopersistence.xml
.quarkus.hibernate-orm.xml.mappings
en tu archivoapplication.properties
para que apunte a la ubicación de tu archivopersistence.xml
.Por ejemplo, si deseas utilizar solo las entidades ubicadas en el paquete
my.specific.entities.package
, puedes crear un archivopersistence.xml
con el siguiente contenido:Luego, en tu archivo
application.properties
, establece la propiedadquarkus.hibernate-orm.xml.mappings
para que apunte al archivopersistence.xml
:Esto le indicará a Quarkus que solo utilice las entidades especificadas en el archivo
persistence.xml
, en lugar de utilizar todas las entidades detectadas en la biblioteca externa.