Replacement implementation of org.hibernate.jmx.internal.JmxServiceInitiator
MBeans are currently too troublesome in GraalVM, so enforce disabling its
usage.
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...
Temporarily exposed since Configuration is still around and much
code still uses Configuration. This allows code to configure the
builder and access that to configure Configuration object.
A lighter alternative to org.hibernate.cfg.Environment: we don't need it to look for certain environment variables,
and don't want it to copy all of System.getProperties() into the ORM configuration.
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.
Needs to mimick MutableIdentifierGeneratorFactoryInitiator, but allows us to capture
which Identifier strategies are being used, so that we can keep a reference to the classed
needed at runtime.