From 85327ca923acce3f1263a8b4aaea41a69504022a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yoann=20Rodi=C3=A8re?= Date: Fri, 14 Jun 2024 15:19:29 +0200 Subject: [PATCH] Make QuarkusPersistenceUnitDescriptor available to FastBootHibernatePersistenceProvider Not strictly necessary, but doesn't hurt and might allow more changes in the next commits. --- .../runtime/FastBootHibernatePersistenceProvider.java | 2 +- .../boot/FastBootEntityManagerFactoryBuilder.java | 11 ++++++----- .../FastBootHibernateReactivePersistenceProvider.java | 2 +- .../FastBootReactiveEntityManagerFactoryBuilder.java | 6 ++++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/FastBootHibernatePersistenceProvider.java b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/FastBootHibernatePersistenceProvider.java index 76037a01f7e93a..3a326f09f3c5cd 100644 --- a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/FastBootHibernatePersistenceProvider.java +++ b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/FastBootHibernatePersistenceProvider.java @@ -195,8 +195,8 @@ private EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String final Object validatorFactory = Arc.container().instance("quarkus-hibernate-validator-factory").get(); return new FastBootEntityManagerFactoryBuilder( + persistenceUnit, metadata /* Uses the StandardServiceRegistry references by this! */, - persistenceUnitName, standardServiceRegistry /* Mostly ignored! (yet needs to match) */, runtimeSettings, validatorFactory, cdiBeanManager, recordedState.getMultiTenancyStrategy()); diff --git a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootEntityManagerFactoryBuilder.java b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootEntityManagerFactoryBuilder.java index 0e1d9307ad5805..21fdd58b007f85 100644 --- a/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootEntityManagerFactoryBuilder.java +++ b/extensions/hibernate-orm/runtime/src/main/java/io/quarkus/hibernate/orm/runtime/boot/FastBootEntityManagerFactoryBuilder.java @@ -46,8 +46,8 @@ public class FastBootEntityManagerFactoryBuilder implements EntityManagerFactoryBuilder { + protected final QuarkusPersistenceUnitDescriptor puDescriptor; protected final PrevalidatedQuarkusMetadata metadata; - protected final String persistenceUnitName; protected final StandardServiceRegistry standardServiceRegistry; private final RuntimeSettings runtimeSettings; private final Object validatorFactory; @@ -56,11 +56,12 @@ public class FastBootEntityManagerFactoryBuilder implements EntityManagerFactory protected final MultiTenancyStrategy multiTenancyStrategy; public FastBootEntityManagerFactoryBuilder( - PrevalidatedQuarkusMetadata metadata, String persistenceUnitName, + QuarkusPersistenceUnitDescriptor puDescriptor, + PrevalidatedQuarkusMetadata metadata, StandardServiceRegistry standardServiceRegistry, RuntimeSettings runtimeSettings, Object validatorFactory, Object cdiBeanManager, MultiTenancyStrategy multiTenancyStrategy) { + this.puDescriptor = puDescriptor; this.metadata = metadata; - this.persistenceUnitName = persistenceUnitName; this.standardServiceRegistry = standardServiceRegistry; this.runtimeSettings = runtimeSettings; this.validatorFactory = validatorFactory; @@ -82,7 +83,7 @@ public EntityManagerFactoryBuilder withDataSource(DataSource dataSource) { public EntityManagerFactory build() { try { final SessionFactoryOptionsBuilder optionsBuilder = metadata.buildSessionFactoryOptionsBuilder(); - populate(persistenceUnitName, optionsBuilder, standardServiceRegistry); + populate(puDescriptor.getName(), optionsBuilder, standardServiceRegistry); return new SessionFactoryImpl(metadata, optionsBuilder.buildOptions(), metadata.getTypeConfiguration().getMetadataBuildingContext().getBootstrapContext()); } catch (Exception e) { @@ -130,7 +131,7 @@ protected PersistenceException persistenceException(String message, Exception ca } private String getExceptionHeader() { - return "[PersistenceUnit: " + persistenceUnitName + "] "; + return "[PersistenceUnit: " + puDescriptor.getName() + "] "; } protected void populate(String persistenceUnitName, SessionFactoryOptionsBuilder options, StandardServiceRegistry ssr) { diff --git a/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/FastBootHibernateReactivePersistenceProvider.java b/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/FastBootHibernateReactivePersistenceProvider.java index 42a9170ddfbbfb..0979b848969625 100644 --- a/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/FastBootHibernateReactivePersistenceProvider.java +++ b/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/FastBootHibernateReactivePersistenceProvider.java @@ -198,8 +198,8 @@ private EntityManagerFactoryBuilder getEntityManagerFactoryBuilderOrNull(String final Object validatorFactory = Arc.container().instance("quarkus-hibernate-validator-factory").get(); return new FastBootReactiveEntityManagerFactoryBuilder( + persistenceUnit, metadata /* Uses the StandardServiceRegistry references by this! */, - persistenceUnitName, standardServiceRegistry /* Mostly ignored! (yet needs to match) */, runtimeSettings, validatorFactory, cdiBeanManager, recordedState.getMultiTenancyStrategy()); diff --git a/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/boot/FastBootReactiveEntityManagerFactoryBuilder.java b/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/boot/FastBootReactiveEntityManagerFactoryBuilder.java index 5eb2f7ae1094c9..dbcffb9681c3aa 100644 --- a/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/boot/FastBootReactiveEntityManagerFactoryBuilder.java +++ b/extensions/hibernate-reactive/runtime/src/main/java/io/quarkus/hibernate/reactive/runtime/boot/FastBootReactiveEntityManagerFactoryBuilder.java @@ -10,15 +10,17 @@ import io.quarkus.hibernate.orm.runtime.PersistenceUnitUtil; import io.quarkus.hibernate.orm.runtime.RuntimeSettings; import io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder; +import io.quarkus.hibernate.orm.runtime.boot.QuarkusPersistenceUnitDescriptor; import io.quarkus.hibernate.orm.runtime.migration.MultiTenancyStrategy; import io.quarkus.hibernate.orm.runtime.recording.PrevalidatedQuarkusMetadata; public final class FastBootReactiveEntityManagerFactoryBuilder extends FastBootEntityManagerFactoryBuilder { - public FastBootReactiveEntityManagerFactoryBuilder(PrevalidatedQuarkusMetadata metadata, String persistenceUnitName, + public FastBootReactiveEntityManagerFactoryBuilder(QuarkusPersistenceUnitDescriptor puDescriptor, + PrevalidatedQuarkusMetadata metadata, StandardServiceRegistry standardServiceRegistry, RuntimeSettings runtimeSettings, Object validatorFactory, Object cdiBeanManager, MultiTenancyStrategy strategy) { - super(metadata, persistenceUnitName, standardServiceRegistry, runtimeSettings, validatorFactory, + super(puDescriptor, metadata, standardServiceRegistry, runtimeSettings, validatorFactory, cdiBeanManager, strategy); }