All Classes and Interfaces
Class
Description
We need a different implementation of ProxyFactoryFactory during the build than at runtime,
so to allow metadata validation.
Creates a database connection based on the data sources in the configuration file.
Class org.hibernate.boot.xsd.ConfigXsdSupport is used only to validate
configuration schema, which should never happen at runtime.
Constants exposing the default versions of various DBs in Quarkus.
Disables logging during the analysis phase
This can not inherit from HibernatePersistenceProvider as that would force
the native-image tool to include all code which could be triggered from using
that: we need to be able to fully exclude HibernatePersistenceProvider from
the native image.
Alternative to EntityManagerFactoryBuilderImpl so to have full control of how MetadataBuilderImplementor
is created, which configuration properties are supportable, custom overrides, etc...
Replaces the ClassLoaderService in Hibernate ORM with one which should work in native mode.
Maps from the Quarkus
TenantResolver
to the Hibernate CurrentTenantIdentifierResolver
model.This recorder is invoked IFF Hibernate metrics and Hibernate statistics are enabled
Maps from the Quarkus
TenantConnectionResolver
to the HibernateMultiTenantConnectionProvider
model.The initial list of StandardServiceInitiator instances is a constant
for Hibernate ORM "classic", but the list needs to be different for
Hibernate Reactive.
CDI qualifier for beans implementing a
FormatMapper
.A delegate for opening a JTA-enabled Hibernate ORM session.
A delegate for opening a JTA-enabled Hibernate ORM StatelessSession.
Mirror replay of the state generated by
org.hibernate.integrator.internal.IntegratorServiceImpl
N.B.
Deprecated.
This class should be removed after we're done migrating to Jakarta APIs and Hibernate ORM v6.
This annotation has two different purposes.
CDI qualifier for beans representing an "extension" of a persistence unit,
i.e.
Helps to instantiate a ServiceRegistryBuilder from a previous state.
A holder class for proxies that were generated at build time,
where possible these are re-used rather than generating new ones
at static init time.
This is a Quarkus custom implementation of Metadata wrapping the original
implementation from Hibernate ORM.
Runtime proxies are used by Hibernate ORM to handle a number of corner cases;
in particular Enhanced Proxies need special consideration in Quarkus as
they aren't generated by the enhancers during the build.
This is similar to the default
IntegratorService
from Hibernate ORM,
except that it doesn't come with default integrators as we prefer explicit
control.Intentionally implementing these methods as no-op:
some Hibernate ORM internal components currently require
being able to attempt a lookup even when JNDI is not being used.
A replacement for ManagedBeanRegistryImpl that:
forces the use of QuarkusManagedBeanRegistry,
which works with Arc and respects configured scopes when instantiating CDI beans.
is not stoppable and leaves the release of beans to
QuarkusArcBeanContainer
,
so that the bean container and its beans can be reused between static init and runtime init,
even though we stop Hibernate ORM services after the end of static init.
Wraps the default DefaultIdentifierGeneratorFactory so to make sure we store the Class references
of any IdentifierGenerator which is accessed during the build of the Metadata.
We need to mimic the standard IdentifierGeneratorFactory but allowing
to capture which Identifier strategies are being used, so that we can keep a reference to the classed
needed at runtime.
This represents the fully specified configuration of a Persistence Unit,
in a format which is compatible with the bytecode recorder.
This
ProxyFactory
implementation is very similar to the ByteBuddyProxyFactory
,
except the class definitions of the proxies have been built upfront so to allow
usage of enhanced proxies in native images.A dialect factory used for runtime init;
simply restores the dialect used during static init.
A dialect resolver used for runtime init;
simply restores the dialect used during static init.
This ProxyFactoryFactory is responsible to loading proxies which have been
defined in advance.
Responsible for initializing the QuarkusRuntimeProxyFactoryFactory.
A hard coded scanner.
Quarkus custom implementation of Hibernate ORM's org.hibernate.id.factory.internal.StandardIdentifierGeneratorFactory
differences with the original:
1# it does not attempt to use a BeanContainer to create instances; Hibernate ORM introduced this feature in HHH-14688
2# The register method is made public
//TODO refactor ORM upstream so to allow code reuse
A dialect factory used for static init;
the same as Hibernate ORM's default one except it records the dialect
so that we can reuse it at runtime init.
Copied from
org.hibernate.engine.jdbc.dialect.internal.DialectFactoryInitiator
Similar to
StrategySelectorBuilder
but
omits registering the components we don't support, and uses a new pattern of registration
meant to avoid class initializations.Has to extend StandardServiceRegistryBuilder even if we don't want: needs to
be assignable to it.
A substitute to Hibernate ORM's "Binding",
which is actually a representation of a parsed XML mapping file (orm.xml or hbm.xml).
A minimal subset of PU config recorded at build time for use during static init.
Bean that is used to manage request scoped sessions
Bean that is used to manage request scoped stateless sessions
Here we define the list of standard Service Initiators to be used by
Hibernate ORM when running on Quarkus.
Plays the exact same role as
SessionLazyDelegator
for Session
During the static init phase, we don't access the PersistenceProviderResolver.
Resolves the
ConnectionProvider
for tenants dynamically.Resolves tenant identifier dynamically so that the proper configuration can be used.
CDI qualifier for beans implementing a
FormatMapper
.