Top Description Inners Fields Constructors Methods
org.hibernate.boot.internal

public Class InFlightMetadataCollectorImpl

extends Object
implements InFlightMetadataCollector, ConverterRegistry
Class Inheritance
All Implemented Interfaces
org.hibernate.boot.model.convert.spi.ConverterRegistry, org.hibernate.boot.spi.InFlightMetadataCollector, org.hibernate.boot.spi.MetadataImplementor, org.hibernate.boot.Metadata, org.hibernate.engine.spi.Mapping
Imports
java.io.Serializable, java.util.ArrayList, .HashMap, .HashSet, .List, .Locale, .Map, .Set, .UUID, java.util.concurrent.ConcurrentHashMap, java.util.function.Consumer, .Function, org.hibernate.AssertionFailure, .DuplicateMappingException, .HibernateException, .MappingException, .SessionFactory, org.hibernate.annotations.CollectionTypeRegistration, .Imported, .Parameter, org.hibernate.annotations.common.reflection.XClass, org.hibernate.boot.CacheRegionDefinition, .SessionFactoryBuilder, org.hibernate.boot.model.IdentifierGeneratorDefinition, .NamedEntityGraphDefinition, .TypeDefinition, .TypeDefinitionRegistry, .TypeDefinitionRegistryStandardImpl, org.hibernate.boot.model.convert.internal.AttributeConverterManager, .ClassBasedConverterDescriptor, org.hibernate.boot.model.convert.spi.ConverterAutoApplyHandler, .ConverterDescriptor, .ConverterRegistry, .RegisteredConversion, org.hibernate.boot.model.internal.AggregateComponentSecondPass, .AnnotatedClassType, .CreateKeySecondPass, .FkSecondPass, .IdGeneratorResolverSecondPass, .ImplicitToOneJoinTableSecondPass, .OptionalDeterminationSecondPass, .QuerySecondPass, .SecondaryTableFromAnnotationSecondPass, .SecondaryTableSecondPass, .SetBasicValueTypeSecondPass, org.hibernate.boot.model.naming.Identifier, .ImplicitForeignKeyNameSource, org.hibernate.boot.model.relational.AuxiliaryDatabaseObject, .Database, .ExportableProducer, .Namespace, .QualifiedTableName, org.hibernate.boot.model.source.internal.ImplicitColumnNamingSecondPass, org.hibernate.boot.model.source.spi.LocalMetadataBuildingContext, org.hibernate.boot.query.NamedHqlQueryDefinition, .NamedNativeQueryDefinition, .NamedProcedureCallDefinition, .NamedResultSetMappingDescriptor, org.hibernate.boot.spi.BootstrapContext, .InFlightMetadataCollector, .MetadataBuildingContext, .MetadataBuildingOptions, .NaturalIdUniqueKeyBinder, .PropertyData, .SecondPass, org.hibernate.cfg.AvailableSettings, .RecoverableException, org.hibernate.dialect.Dialect, org.hibernate.engine.spi.FilterDefinition, .SessionFactoryImplementor, org.hibernate.generator.Generator, org.hibernate.internal.CoreLogging, .CoreMessageLogger, org.hibernate.mapping.Collection, .Column, .Component, .DenormalizedTable, .FetchProfile, .ForeignKey, .IdentifierCollection, .Join, .KeyValue, .MappedSuperclass, .PersistentClass, .Property, .RootClass, .SimpleValue, .Table, org.hibernate.metamodel.CollectionClassification, org.hibernate.metamodel.spi.EmbeddableInstantiator, org.hibernate.query.named.NamedObjectRepository, org.hibernate.query.sqm.function.SqmFunctionDescriptor, .SqmFunctionRegistry, org.hibernate.type.descriptor.java.JavaType, org.hibernate.type.descriptor.jdbc.JdbcType, org.hibernate.type.spi.TypeConfiguration, org.hibernate.usertype.CompositeUserType, .UserType, jakarta.persistence.AttributeConverter, .Embeddable, .Entity, .MapsId

Deprecated

as a consequence of InFlightMetadataCollector being deprecated. See corresponding docs for further information.

The implementation of the in-flight metadata collector contract.

The usage expectation is that this class is used until all Metadata info is collected and then buildMetadataInstance is called to generate the complete (and immutable) Metadata object.

Author
Steve Ebersole

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private class
private class
InFlightMetadataCollectorImpl.TableColumnNameBinding

Internal struct used to maintain xref between physical and logical column names for a table.

Field Summary

Modifier and TypeField and Description
private ArrayList<AggregateComponentSecondPass>
private final Map<String, AnnotatedClassType>
private final AttributeConverterManager
private final BootstrapContext
private final Map<String, Collection>
private Map<CollectionClassification, InFlightMetadataCollector.CollectionTypeRegistrationDescriptor>
private Map<Table, InFlightMetadataCollectorImpl.TableColumnNameBinding>
private final List<Component>
private ArrayList<CreateKeySecondPass>
private Database
private final Set<String>
private final Set<String>
private final Set<String>
private final Set<String>
private final Set<String>
private Set<InFlightMetadataCollector.DelayedPropertyReferenceHandler>
private final Map<String, PersistentClass>
private final Map<String, InFlightMetadataCollectorImpl.EntityTableXrefImpl>
private final Map<String, FetchProfile>
private final Map<String, FilterDefinition>
private ArrayList<FkSecondPass>
private ArrayList<SecondPass>
private final Map<Class<?>, Component>
private final Map<String, IdentifierGeneratorDefinition>
private ArrayList<IdGeneratorResolverSecondPass>
private ArrayList<ImplicitColumnNamingSecondPass>
private final Map<String, String>
private boolean
private static final CoreMessageLogger
private final Map<Identifier, Identifier>
private Map<String, String>
private Map<Class<?>, MappedSuperclass>
private final Map<String, NamedEntityGraphDefinition>
private final Map<String, NamedNativeQueryDefinition>
private final Map<String, NamedProcedureCallDefinition>
private final Map<String, NamedHqlQueryDefinition>
private Map<String, NaturalIdUniqueKeyBinder>
private ArrayList<OptionalDeterminationSecondPass>
private final MetadataBuildingOptions
private final Map<Identifier, Identifier>
private Map<XClass, Map<String, PropertyData>>
private Map<XClass, Map<String, PropertyData>>
private Map<String, String>
private ArrayList<QuerySecondPass>
private Map<Class<?>, Class<? extends CompositeUserType<?>>>
private Map<Class<?>, Class<? extends EmbeddableInstantiator>>
private Map<Class<?>, Class<? extends UserType<?>>>
private ArrayList<SecondaryTableFromAnnotationSecondPass>
private ArrayList<SecondaryTableSecondPass>
private ArrayList<SetBasicValueTypeSecondPass>
private Map<String, SqmFunctionDescriptor>
private final Map<String, NamedResultSetMappingDescriptor>
private ArrayList<ImplicitToOneJoinTableSecondPass>
private final TypeDefinitionRegistry
private final UUID
private List<Function<MetadataBuildingContext, Boolean>>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
public void
public void
public void
addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject
The metadata.
auxiliaryDatabaseObject
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addAuxiliaryDatabaseObject.

Add metadata pertaining to an auxiliary database object to this repository.
public AnnotatedClassType
public void
addCollectionBinding(Collection
The collection metadata
collection
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addCollectionBinding.

Add collection mapping metadata to this repository.
public void
public void
public void
public void
private void
addCreateKeySecondPass(CreateKeySecondPass secondPass, boolean onTopOfTheQueue)

public void
public void
public void
public void
public void
public void
public Table
addDenormalizedTable(String
The named schema in which the table belongs (or null).
schemaName
,
String
The named catalog in which the table belongs (or null).
catalogName
,
String
The table name
name
,
boolean
Is the table abstract (i.e. not really existing in the DB)?
isAbstract
,
String
A select statement which defines a logical table, much like a DB view.
subselectFragment
,
Table
The "common" table
includedTable
,
MetadataBuildingContext buildingContext)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addDenormalizedTable.

Adds a 'denormalized table' to this repository.
public void
addEntityBinding(PersistentClass
The entity metadata
persistentClass
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addEntityBinding.

Add the PersistentClass for an entity mapping.
public InFlightMetadataCollector.EntityTableXref
public void
public void
addFilterDefinition(FilterDefinition
The filter definition to add.
filterDefinition
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addFilterDefinition.

Adds a filter definition to this repository.
private void
addFkSecondPass(FkSecondPass secondPass, boolean onTopOfTheQueue)

public void
private void
private void
private void
public void
addImport(String
The name to be used in HQL
importName
,
String
The fully-qualified name of the class
className
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addImport.

Adds an import (for use in HQL).
public void
public void
public void
addMappedBy(String entityName, String propertyName, String inversePropertyName)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addMappedBy.

public void
public void
addNamedEntityGraph(NamedEntityGraphDefinition
The procedure call information
definition
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addNamedEntityGraph.

Adds metadata for a named entity graph to this repository
public void
public void
addNamedProcedureCallDefinition(NamedProcedureCallDefinition definition)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addNamedProcedureCallDefinition.

Adds metadata for a named stored procedure call to this collector.
public void
addNamedQuery(NamedHqlQueryDefinition
The metadata
def
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addNamedQuery.

Adds metadata for a named query to this repository.
private void
public void
addOverridableConverter(Class<? extends AttributeConverter<?, ?>> converterClass)

Implements org.hibernate.boot.model.convert.spi.ConverterRegistry.addOverridableConverter.

Apply an AttributeConverter that may be overridden by competing converters
public void
public void
public void
public void
private void
addQuerySecondPass(QuerySecondPass secondPass, boolean onTopOfTheQueue)

public void
public void
addResultSetMapping(NamedResultSetMappingDescriptor resultSetMappingDescriptor)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addResultSetMapping.

Adds the metadata for a named SQL result set mapping to this collector.
private void
private void
addSecondaryTableSecondPass(SecondaryTableSecondPass secondPass, boolean onTopOfTheQueue)

public void
public void
private <T extends SecondPass> void
addSecondPass(T secondPass, ArrayList<T> secondPassList, boolean onTopOfTheQueue)

private void
addSetBasicValueTypeSecondPass(SetBasicValueTypeSecondPass secondPass, boolean onTopOfTheQueue)

public Table
addTable(String
The named schema in which the table belongs (or null).
schemaName
,
String
The named catalog in which the table belongs (or null).
catalogName
,
String
The table name
name
,
String
A select statement which defines a logical table, much like a DB view.
subselectFragment
,
boolean
Is the table abstract (i.e. not really existing in the DB)?
isAbstract
,
MetadataBuildingContext buildingContext)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addTable.

Adds table metadata to this repository returning the created metadata instance.
public void
public void
addTableNameBinding(String schema, String catalog, String logicalName, String realTableName, Table denormalizedSuperTable)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addTableNameBinding.

public void
public void
addTypeDefinition(TypeDefinition
The named type definition to add.
typeDefinition
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addTypeDefinition.

Adds a type definition to this metadata repository.
public void
private void
private void
public void
public MetadataImpl

Returns:

The complete and immutable Metadata instance
buildMetadataInstance
(MetadataBuildingContext buildingContext)

Deprecated as a consequence of MetadataImpl being deprecated.
Builds the complete and immutable Metadata instance from the collected info.
public NamedObjectRepository
private void
buildRecursiveOrderedFkSecondPasses(List<FkSecondPass>
The list containing the FkSecondPass instances ready for processing.
orderedFkSecondPasses
,
Map<String, Set<FkSecondPass>>
Our lookup data structure to determine dependencies between tables
isADependencyOf
,
String
Table name to start recursive algorithm.
startTable
,
String
The current table name used to check for 'new' dependencies.
currentTable
)

Recursively builds a list of FkSecondPass instances ready to be processed in this order.

public SessionFactory
buildSessionFactory()

Implements org.hibernate.boot.Metadata.buildSessionFactory.

Short-hand form of building a SessionFactory through the builder without any additional option overrides.
private void
public Collection<Table>
private List<Identifier>
public InFlightMetadataCollector.CollectionTypeRegistrationDescriptor
public Class<? extends CompositeUserType<?>>
public Class<? extends EmbeddableInstantiator>
public Class<? extends UserType<?>>
private static AnnotatedClassType
public ConverterAutoApplyHandler
public AttributeConverterManager
public BootstrapContext
public AnnotatedClassType
public Collection
getCollectionBinding(String
The collection role for which to retrieve the metadata.
role
)

Implements org.hibernate.boot.Metadata.getCollectionBinding.

Retrieves the collection mapping metadata for the given collection role.
public Collection<Collection>
getCollectionBindings()

Implements org.hibernate.boot.Metadata.getCollectionBindings.

Retrieves the Collection metadata representation for all known collections.
public Set<String>
getContributors()

Implements org.hibernate.boot.Metadata.getContributors.

All of the known model contributors
public ConverterRegistry
public Database
getDatabase()

Implements org.hibernate.boot.Metadata.getDatabase.

Retrieve the database model.
public PersistentClass
getEntityBinding(String
The entity name for which to retrieve the metadata.
entityName
)

Implements org.hibernate.boot.Metadata.getEntityBinding.

Retrieves the PersistentClass entity mapping metadata representation for the given entity name.
public Map<String, PersistentClass>
public Collection<PersistentClass>
getEntityBindings()

Implements org.hibernate.boot.Metadata.getEntityBindings.

Retrieves the PersistentClass entity metadata representation for all known entities.
public InFlightMetadataCollector.EntityTableXref
public FetchProfile
public Collection<FetchProfile>
public FilterDefinition
getFilterDefinition(String
The name of the filter definition to retrieve .
name
)

Implements org.hibernate.boot.Metadata.getFilterDefinition.

Retrieves a filter definition by name.
public Map<String, FilterDefinition>
getFilterDefinitions()

Implements org.hibernate.boot.Metadata.getFilterDefinitions.

Retrieves the complete map of filter definitions.
public String
public SqmFunctionRegistry
public Component
public IdentifierGeneratorDefinition
public String
public Type
public Map<String, String>
getImports()

Implements org.hibernate.boot.Metadata.getImports.

Retrieves all defined imports (class renames).
public Map<String, Join>
public String
public String
public String
public MappedSuperclass
public Set<MappedSuperclass>
public MetadataBuildingOptions
getMetadataBuildingOptions()

Implements org.hibernate.boot.spi.MetadataImplementor.getMetadataBuildingOptions.

Access to the options used to build this Metadata
public NamedEntityGraphDefinition
public Map<String, NamedEntityGraphDefinition>
public NamedHqlQueryDefinition
getNamedHqlQueryMapping(String name)

Implements org.hibernate.boot.Metadata.getNamedHqlQueryMapping.

Retrieve named query metadata by name.
public NamedNativeQueryDefinition
public NamedProcedureCallDefinition
public String
public String
public String
public String
public PropertyData
public PropertyData
public String
public Type
public NamedResultSetMappingDescriptor
getResultSetMapping(String
The mapping name.
name
)

Implements org.hibernate.boot.Metadata.getResultSetMapping.

Retrieve the metadata for a named SQL result set mapping.
public SessionFactoryBuilder
getSessionFactoryBuilder()

Implements org.hibernate.boot.Metadata.getSessionFactoryBuilder.

Get the builder for SessionFactory instances based on this metamodel.
public Map<String, SqmFunctionDescriptor>
public TypeConfiguration
public TypeDefinition
getTypeDefinition(String registrationKey)

Implements org.hibernate.boot.Metadata.getTypeDefinition.

Retrieve a type definition by name.
public TypeDefinitionRegistry
getTypeDefinitionRegistry()

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getTypeDefinitionRegistry.

Access to the TypeDefinitionRegistry, which may be used to add type definitions to this metadata repository.
public UUID
getUUID()

Implements org.hibernate.boot.Metadata.getUUID.

Gets the UUID for this metamodel.
private void
handleIdentifierValueBinding(KeyValue identifierValueBinding, Dialect dialect, RootClass entityBinding)

public void
public boolean
public NaturalIdUniqueKeyBinder
public void
private void
private void
processEndOfQueue(List<FkSecondPass> endOfQueueFkSecondPasses)

private void
private void
private void
private void
public void
private void
processSecondPasses(ArrayList<? extends SecondPass> secondPasses)

private void
public void
public void
public void
public void
public void
public void
public void
private void
protected void
private InFlightMetadataCollector.CollectionTypeRegistrationDescriptor
toDescriptor(CollectionTypeRegistration registrationAnnotation)

public void
public void
public void
public void
public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait