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 theMetadataImpl.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 methodsgetSessionFactoryBuilder()andbuildSessionFactory()are unavailable, as these would normally trigger an additional validation phase: we can actually boot Quarkus in a simpler way.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.hibernate.query.named.NamedObjectRepositorybuildNamedQueryRepository(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory)org.hibernate.SessionFactorybuildSessionFactory()org.hibernate.boot.internal.SessionFactoryOptionsBuilderbuildSessionFactoryOptionsBuilder()Collection<org.hibernate.mapping.Table>collectTableMappings()org.hibernate.boot.spi.BootstrapContextgetBootstrapContext()org.hibernate.mapping.CollectiongetCollectionBinding(String role)Map<String,org.hibernate.mapping.Collection>getCollectionBindingMap()Collection<org.hibernate.mapping.Collection>getCollectionBindings()List<org.hibernate.mapping.Component>getComposites()Set<String>getContributors()org.hibernate.boot.model.relational.DatabasegetDatabase()org.hibernate.mapping.PersistentClassgetEntityBinding(String entityName)Map<String,org.hibernate.mapping.PersistentClass>getEntityBindingMap()Collection<org.hibernate.mapping.PersistentClass>getEntityBindings()org.hibernate.mapping.FetchProfilegetFetchProfile(String name)Map<String,org.hibernate.mapping.FetchProfile>getFetchProfileMap()Collection<org.hibernate.mapping.FetchProfile>getFetchProfiles()org.hibernate.engine.spi.FilterDefinitiongetFilterDefinition(String name)Map<String,org.hibernate.engine.spi.FilterDefinition>getFilterDefinitions()org.hibernate.query.sqm.function.SqmFunctionRegistrygetFunctionRegistry()org.hibernate.mapping.ComponentgetGenericComponent(Class<?> componentClass)org.hibernate.boot.model.IdentifierGeneratorDefinitiongetIdentifierGenerator(String name)StringgetIdentifierPropertyName(String className)org.hibernate.type.TypegetIdentifierType(String className)Map<String,org.hibernate.boot.model.IdentifierGeneratorDefinition>getIdGeneratorDefinitionMap()Map<String,String>getImports()Map<Class<?>,org.hibernate.mapping.MappedSuperclass>getMappedSuperclassMap()Set<org.hibernate.mapping.MappedSuperclass>getMappedSuperclassMappingsCopy()org.hibernate.boot.spi.MetadataBuildingOptionsgetMetadataBuildingOptions()org.hibernate.boot.model.NamedEntityGraphDefinitiongetNamedEntityGraph(String name)Map<String,org.hibernate.boot.model.NamedEntityGraphDefinition>getNamedEntityGraphMap()Map<String,org.hibernate.boot.model.NamedEntityGraphDefinition>getNamedEntityGraphs()org.hibernate.boot.query.NamedHqlQueryDefinitiongetNamedHqlQueryMapping(String name)Map<String,org.hibernate.boot.query.NamedNativeQueryDefinition>getNamedNativeQueryMap()org.hibernate.boot.query.NamedNativeQueryDefinitiongetNamedNativeQueryMapping(String name)Map<String,org.hibernate.boot.query.NamedProcedureCallDefinition>getNamedProcedureCallMap()org.hibernate.boot.query.NamedProcedureCallDefinitiongetNamedProcedureCallMapping(String name)Map<String,org.hibernate.boot.query.NamedHqlQueryDefinition>getNamedQueryMap()org.hibernate.type.TypegetReferencedPropertyType(String className, String propertyName)org.hibernate.boot.query.NamedResultSetMappingDescriptorgetResultSetMapping(String name)org.hibernate.boot.SessionFactoryBuildergetSessionFactoryBuilder()Map<String,org.hibernate.query.sqm.function.SqmFunctionDescriptor>getSqlFunctionMap()Map<String,org.hibernate.boot.query.NamedResultSetMappingDescriptor>getSqlResultSetMappingMap()org.hibernate.type.spi.TypeConfigurationgetTypeConfiguration()org.hibernate.boot.model.TypeDefinitiongetTypeDefinition(String typeName)Map<String,org.hibernate.boot.model.TypeDefinition>getTypeDefinitionMap()UUIDgetUUID()voidinitSessionFactory(org.hibernate.engine.spi.SessionFactoryImplementor sessionFactoryImplementor)voidorderColumns(boolean forceOrdering)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 Detail
-
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
public UUID 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
public Collection<org.hibernate.mapping.PersistentClass> getEntityBindings()
- Specified by:
getEntityBindingsin interfaceorg.hibernate.boot.Metadata
-
getEntityBinding
public org.hibernate.mapping.PersistentClass getEntityBinding(String entityName)
- Specified by:
getEntityBindingin interfaceorg.hibernate.boot.Metadata
-
getCollectionBindings
public Collection<org.hibernate.mapping.Collection> getCollectionBindings()
- Specified by:
getCollectionBindingsin interfaceorg.hibernate.boot.Metadata
-
getCollectionBinding
public org.hibernate.mapping.Collection getCollectionBinding(String role)
- Specified by:
getCollectionBindingin interfaceorg.hibernate.boot.Metadata
-
getImports
public Map<String,String> getImports()
- Specified by:
getImportsin interfaceorg.hibernate.boot.Metadata
-
getNamedHqlQueryMapping
public org.hibernate.boot.query.NamedHqlQueryDefinition getNamedHqlQueryMapping(String name)
- 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
public org.hibernate.boot.query.NamedNativeQueryDefinition getNamedNativeQueryMapping(String name)
- 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
public org.hibernate.boot.query.NamedResultSetMappingDescriptor getResultSetMapping(String name)
- 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
public org.hibernate.boot.model.TypeDefinition getTypeDefinition(String typeName)
- Specified by:
getTypeDefinitionin interfaceorg.hibernate.boot.Metadata
-
getFilterDefinitions
public Map<String,org.hibernate.engine.spi.FilterDefinition> getFilterDefinitions()
- Specified by:
getFilterDefinitionsin interfaceorg.hibernate.boot.Metadata
-
getFilterDefinition
public org.hibernate.engine.spi.FilterDefinition getFilterDefinition(String name)
- Specified by:
getFilterDefinitionin interfaceorg.hibernate.boot.Metadata
-
getFetchProfile
public org.hibernate.mapping.FetchProfile getFetchProfile(String name)
- Specified by:
getFetchProfilein interfaceorg.hibernate.boot.Metadata
-
getFetchProfiles
public Collection<org.hibernate.mapping.FetchProfile> getFetchProfiles()
- Specified by:
getFetchProfilesin interfaceorg.hibernate.boot.Metadata
-
getNamedEntityGraph
public org.hibernate.boot.model.NamedEntityGraphDefinition getNamedEntityGraph(String name)
- Specified by:
getNamedEntityGraphin interfaceorg.hibernate.boot.Metadata
-
getNamedEntityGraphs
public Map<String,org.hibernate.boot.model.NamedEntityGraphDefinition> getNamedEntityGraphs()
- Specified by:
getNamedEntityGraphsin interfaceorg.hibernate.boot.Metadata
-
getIdentifierGenerator
public org.hibernate.boot.model.IdentifierGeneratorDefinition getIdentifierGenerator(String name)
- Specified by:
getIdentifierGeneratorin interfaceorg.hibernate.boot.Metadata
-
collectTableMappings
public Collection<org.hibernate.mapping.Table> collectTableMappings()
- Specified by:
collectTableMappingsin interfaceorg.hibernate.boot.Metadata
-
getSqlFunctionMap
public Map<String,org.hibernate.query.sqm.function.SqmFunctionDescriptor> getSqlFunctionMap()
- Specified by:
getSqlFunctionMapin interfaceorg.hibernate.boot.Metadata
-
getContributors
public Set<String> 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
public String getIdentifierPropertyName(String className) throws org.hibernate.MappingException
- 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
public Set<org.hibernate.mapping.MappedSuperclass> 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
public void visitRegisteredComponents(Consumer<org.hibernate.mapping.Component> consumer)
- Specified by:
visitRegisteredComponentsin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getGenericComponent
public org.hibernate.mapping.Component getGenericComponent(Class<?> componentClass)
- Specified by:
getGenericComponentin interfaceorg.hibernate.boot.spi.MetadataImplementor
-
getCollectionBindingMap
public Map<String,org.hibernate.mapping.Collection> getCollectionBindingMap()
-
getTypeDefinitionMap
public Map<String,org.hibernate.boot.model.TypeDefinition> getTypeDefinitionMap()
-
getMappedSuperclassMap
public Map<Class<?>,org.hibernate.mapping.MappedSuperclass> getMappedSuperclassMap()
-
getIdGeneratorDefinitionMap
public Map<String,org.hibernate.boot.model.IdentifierGeneratorDefinition> getIdGeneratorDefinitionMap()
-
getNamedEntityGraphMap
public Map<String,org.hibernate.boot.model.NamedEntityGraphDefinition> getNamedEntityGraphMap()
-
getBootstrapContext
public org.hibernate.boot.spi.BootstrapContext getBootstrapContext()
-
getNamedQueryMap
public Map<String,org.hibernate.boot.query.NamedHqlQueryDefinition> getNamedQueryMap()
-
getNamedNativeQueryMap
public Map<String,org.hibernate.boot.query.NamedNativeQueryDefinition> getNamedNativeQueryMap()
-
getNamedProcedureCallMap
public Map<String,org.hibernate.boot.query.NamedProcedureCallDefinition> getNamedProcedureCallMap()
-
getSqlResultSetMappingMap
public Map<String,org.hibernate.boot.query.NamedResultSetMappingDescriptor> getSqlResultSetMappingMap()
-
getComposites
public List<org.hibernate.mapping.Component> getComposites()
-
-