Class PrevalidatedQuarkusMetadata
java.lang.Object
io.quarkus.hibernate.orm.runtime.recording.PrevalidatedQuarkusMetadata
- All Implemented Interfaces:
org.hibernate.boot.Metadata,org.hibernate.boot.spi.MetadataImplementor,org.hibernate.engine.spi.Mapping
public final class PrevalidatedQuarkusMetadata
extends Object
implements org.hibernate.boot.spi.MetadataImplementor
This is a Quarkus custom implementation of Metadata wrapping the original
implementation from Hibernate ORM.
The goal is to run the
MetadataImpl.validate() method
earlier than when it is normally performed, for two main reasons: further reduce
the work that is still necessary when performing a runtime boot, and to be
able to still use reflection as it's necessary e.g. to validate enum fields.
We also make sure that methods getSessionFactoryBuilder() and buildSessionFactory()
are unavailable, as these would normally trigger an additional validation phase:
we can actually boot Quarkus in a simpler way.-
Method Summary
Modifier and TypeMethodDescriptionorg.hibernate.query.named.NamedObjectRepositorybuildNamedQueryRepository(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) org.hibernate.SessionFactoryorg.hibernate.boot.internal.SessionFactoryOptionsBuilderCollection<org.hibernate.mapping.Table>org.hibernate.boot.spi.BootstrapContextorg.hibernate.mapping.CollectiongetCollectionBinding(String role) Collection<org.hibernate.mapping.Collection>List<org.hibernate.mapping.Component>org.hibernate.boot.model.relational.Databaseorg.hibernate.mapping.PersistentClassgetEntityBinding(String entityName) Collection<org.hibernate.mapping.PersistentClass>org.hibernate.mapping.FetchProfilegetFetchProfile(String name) Collection<org.hibernate.mapping.FetchProfile>org.hibernate.engine.spi.FilterDefinitiongetFilterDefinition(String name) org.hibernate.query.sqm.function.SqmFunctionRegistryorg.hibernate.mapping.ComponentgetGenericComponent(Class<?> componentClass) org.hibernate.boot.model.IdentifierGeneratorDefinitiongetIdentifierGenerator(String name) getIdentifierPropertyName(String className) org.hibernate.type.TypegetIdentifierType(String className) Set<org.hibernate.mapping.MappedSuperclass>org.hibernate.boot.spi.MetadataBuildingOptionsorg.hibernate.boot.model.NamedEntityGraphDefinitiongetNamedEntityGraph(String name) org.hibernate.boot.query.NamedHqlQueryDefinitionorg.hibernate.boot.query.NamedNativeQueryDefinitionorg.hibernate.boot.query.NamedProcedureCallDefinitionorg.hibernate.type.TypegetReferencedPropertyType(String className, String propertyName) org.hibernate.boot.query.NamedResultSetMappingDescriptorgetResultSetMapping(String name) org.hibernate.boot.SessionFactoryBuilderorg.hibernate.type.spi.TypeConfigurationorg.hibernate.boot.model.TypeDefinitiongetTypeDefinition(String typeName) getUUID()voidinitSessionFactory(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImplementor) voidorderColumns(boolean forceOrdering) org.hibernate.metamodel.mapping.DiscriminatorType<?>resolveEmbeddableDiscriminatorType(Class<?> embeddableClass, Supplier<org.hibernate.metamodel.mapping.DiscriminatorType<?>> supplier) voidvalidate()static PrevalidatedQuarkusMetadatavalidateAndWrap(org.hibernate.boot.internal.MetadataImpl original) voidvisitNamedHqlQueryDefinitions(Consumer<org.hibernate.boot.query.NamedHqlQueryDefinition> definitionConsumer) voidvisitNamedNativeQueryDefinitions(Consumer<org.hibernate.boot.query.NamedNativeQueryDefinition> definitionConsumer) voidvisitNamedProcedureCallDefinition(Consumer<org.hibernate.boot.query.NamedProcedureCallDefinition> definitionConsumer) voidvisitNamedResultSetMappingDefinition(Consumer<org.hibernate.boot.query.NamedResultSetMappingDescriptor> definitionConsumer) voidvisitRegisteredComponents(Consumer<org.hibernate.mapping.Component> consumer)
-
Method Details
-
validateAndWrap
public static PrevalidatedQuarkusMetadata validateAndWrap(org.hibernate.boot.internal.MetadataImpl original) -
buildSessionFactoryOptionsBuilder
public org.hibernate.boot.internal.SessionFactoryOptionsBuilder buildSessionFactoryOptionsBuilder() -
getSessionFactoryBuilder
public org.hibernate.boot.SessionFactoryBuilder getSessionFactoryBuilder()- Specified by:
getSessionFactoryBuilderin interfaceorg.hibernate.boot.Metadata
-
buildSessionFactory
public org.hibernate.SessionFactory buildSessionFactory()- Specified by:
buildSessionFactoryin interfaceorg.hibernate.boot.Metadata
-
validate
public void validate() throws org.hibernate.MappingException- Specified by:
validatein interfaceorg.hibernate.boot.spi.MetadataImplementor- Throws:
org.hibernate.MappingException
-
getUUID
- Specified by:
getUUIDin interfaceorg.hibernate.boot.Metadata
-
getDatabase
public org.hibernate.boot.model.relational.Database getDatabase()- Specified by:
getDatabasein interfaceorg.hibernate.boot.Metadata
-
getEntityBindings
- Specified by:
getEntityBindingsin interfaceorg.hibernate.boot.Metadata
-
getEntityBinding
- Specified by:
getEntityBindingin interfaceorg.hibernate.boot.Metadata
-
getCollectionBindings
- Specified by:
getCollectionBindingsin interfaceorg.hibernate.boot.Metadata
-
getCollectionBinding
- Specified by:
getCollectionBindingin interfaceorg.hibernate.boot.Metadata
-
getImports
- Specified by:
getImportsin interfaceorg.hibernate.boot.Metadata
-
getNamedHqlQueryMapping
- Specified by:
getNamedHqlQueryMappingin interfaceorg.hibernate.boot.Metadata
-
visitNamedHqlQueryDefinitions
public void visitNamedHqlQueryDefinitions(Consumer<org.hibernate.boot.query.NamedHqlQueryDefinition> definitionConsumer) - Specified by:
visitNamedHqlQueryDefinitionsin interfaceorg.hibernate.boot.Metadata
-
getNamedNativeQueryMapping
- Specified by:
getNamedNativeQueryMappingin interfaceorg.hibernate.boot.Metadata
-
visitNamedNativeQueryDefinitions
public void visitNamedNativeQueryDefinitions(Consumer<org.hibernate.boot.query.NamedNativeQueryDefinition> definitionConsumer) - Specified by:
visitNamedNativeQueryDefinitionsin interfaceorg.hibernate.boot.Metadata
-
getNamedProcedureCallMapping
public org.hibernate.boot.query.NamedProcedureCallDefinition getNamedProcedureCallMapping(String name) - Specified by:
getNamedProcedureCallMappingin interfaceorg.hibernate.boot.Metadata
-
visitNamedProcedureCallDefinition
public void visitNamedProcedureCallDefinition(Consumer<org.hibernate.boot.query.NamedProcedureCallDefinition> definitionConsumer) - Specified by:
visitNamedProcedureCallDefinitionin interfaceorg.hibernate.boot.Metadata
-
getResultSetMapping
- Specified by:
getResultSetMappingin interfaceorg.hibernate.boot.Metadata
-
visitNamedResultSetMappingDefinition
public void visitNamedResultSetMappingDefinition(Consumer<org.hibernate.boot.query.NamedResultSetMappingDescriptor> definitionConsumer) - Specified by:
visitNamedResultSetMappingDefinitionin interfaceorg.hibernate.boot.Metadata
-
getTypeDefinition
- Specified by:
getTypeDefinitionin interfaceorg.hibernate.boot.Metadata
-
getFilterDefinitions
- Specified by:
getFilterDefinitionsin interfaceorg.hibernate.boot.Metadata
-
getFilterDefinition
- Specified by:
getFilterDefinitionin interfaceorg.hibernate.boot.Metadata
-
getFetchProfile
- Specified by:
getFetchProfilein interfaceorg.hibernate.boot.Metadata
-
getFetchProfiles
- Specified by:
getFetchProfilesin interfaceorg.hibernate.boot.Metadata
-
getNamedEntityGraph
- Specified by:
getNamedEntityGraphin interfaceorg.hibernate.boot.Metadata
-
getNamedEntityGraphs
- Specified by:
getNamedEntityGraphsin interfaceorg.hibernate.boot.Metadata
-
getIdentifierGenerator
- Specified by:
getIdentifierGeneratorin interfaceorg.hibernate.boot.Metadata
-
collectTableMappings
- Specified by:
collectTableMappingsin interfaceorg.hibernate.boot.Metadata
-
getSqlFunctionMap
- Specified by:
getSqlFunctionMapin interfaceorg.hibernate.boot.Metadata
-
getContributors
- Specified by:
getContributorsin interfaceorg.hibernate.boot.Metadata
-
getIdentifierType
public org.hibernate.type.Type getIdentifierType(String className) throws org.hibernate.MappingException - Specified by:
getIdentifierTypein interfaceorg.hibernate.engine.spi.Mapping- Throws:
org.hibernate.MappingException
-
getIdentifierPropertyName
- Specified by:
getIdentifierPropertyNamein interfaceorg.hibernate.engine.spi.Mapping- Throws:
org.hibernate.MappingException
-
getReferencedPropertyType
public org.hibernate.type.Type getReferencedPropertyType(String className, String propertyName) throws org.hibernate.MappingException - Specified by:
getReferencedPropertyTypein interfaceorg.hibernate.engine.spi.Mapping- Throws:
org.hibernate.MappingException
-
getMetadataBuildingOptions
public org.hibernate.boot.spi.MetadataBuildingOptions getMetadataBuildingOptions()- Specified by:
getMetadataBuildingOptionsin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getTypeConfiguration
public org.hibernate.type.spi.TypeConfiguration getTypeConfiguration()- Specified by:
getTypeConfigurationin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getFunctionRegistry
public org.hibernate.query.sqm.function.SqmFunctionRegistry getFunctionRegistry()- Specified by:
getFunctionRegistryin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
buildNamedQueryRepository
public org.hibernate.query.named.NamedObjectRepository buildNamedQueryRepository(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) - Specified by:
buildNamedQueryRepositoryin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
orderColumns
public void orderColumns(boolean forceOrdering) - Specified by:
orderColumnsin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getMappedSuperclassMappingsCopy
- Specified by:
getMappedSuperclassMappingsCopyin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
initSessionFactory
public void initSessionFactory(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImplementor) - Specified by:
initSessionFactoryin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
visitRegisteredComponents
- Specified by:
visitRegisteredComponentsin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getGenericComponent
- Specified by:
getGenericComponentin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
resolveEmbeddableDiscriminatorType
public org.hibernate.metamodel.mapping.DiscriminatorType<?> resolveEmbeddableDiscriminatorType(Class<?> embeddableClass, Supplier<org.hibernate.metamodel.mapping.DiscriminatorType<?>> supplier) - Specified by:
resolveEmbeddableDiscriminatorTypein interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getEntityBindingMap
-
getCollectionBindingMap
-
getTypeDefinitionMap
-
getFetchProfileMap
-
getMappedSuperclassMap
-
getIdGeneratorDefinitionMap
-
getNamedEntityGraphMap
-
getBootstrapContext
public org.hibernate.boot.spi.BootstrapContext getBootstrapContext() -
getNamedQueryMap
-
getNamedNativeQueryMap
-
getNamedProcedureCallMap
-
getSqlResultSetMappingMap
-
getComposites
-