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

public Class InFlightMetadataCollectorImpl

extends Object
implements InFlightMetadataCollector
Class Inheritance
All Implemented Interfaces
org.hibernate.boot.spi.InFlightMetadataCollector, org.hibernate.boot.spi.MetadataImplementor, org.hibernate.engine.spi.Mapping, org.hibernate.boot.Metadata
Imports
java.io.Serializable, java.util.ArrayList, .Collections, .HashMap, .HashSet, .Iterator, .List, .Locale, .Map, .Set, .UUID, java.util.concurrent.ConcurrentHashMap, javax.persistence.AttributeConverter, .Embeddable, .Entity, .MapsId, org.hibernate.AnnotationException, .AssertionFailure, .DuplicateMappingException, .HibernateException, .MappingException, .SessionFactory, org.hibernate.annotations.AnyMetaDef, org.hibernate.annotations.common.reflection.XClass, org.hibernate.boot.CacheRegionDefinition, .SessionFactoryBuilder, org.hibernate.boot.model.IdentifierGeneratorDefinition, .TypeDefinition, org.hibernate.boot.model.convert.internal.AttributeConverterManager, .ClassBasedConverterDescriptor, org.hibernate.boot.model.convert.spi.ConverterAutoApplyHandler, .ConverterDescriptor, org.hibernate.boot.model.naming.Identifier, .ImplicitForeignKeyNameSource, .ImplicitIndexNameSource, .ImplicitUniqueKeyNameSource, org.hibernate.boot.model.relational.AuxiliaryDatabaseObject, .Database, .Namespace, .QualifiedTableName, org.hibernate.boot.model.source.internal.ImplicitColumnNamingSecondPass, org.hibernate.boot.model.source.spi.LocalMetadataBuildingContext, org.hibernate.boot.spi.BootstrapContext, .InFlightMetadataCollector, .MetadataBuildingContext, .MetadataBuildingOptions, .NaturalIdUniqueKeyBinder, org.hibernate.cfg.AnnotatedClassType, .AvailableSettings, .CreateKeySecondPass, .FkSecondPass, .IdGeneratorResolverSecondPass, .JPAIndexHolder, .PropertyData, .QuerySecondPass, .RecoverableException, .SecondPass, .SecondaryTableSecondPass, .SetSimpleValueTypeSecondPass, .UniqueConstraintHolder, org.hibernate.cfg.annotations.NamedEntityGraphDefinition, .NamedProcedureCallDefinition, org.hibernate.dialect.Dialect, org.hibernate.dialect.function.SQLFunction, org.hibernate.engine.ResultSetMappingDefinition, org.hibernate.engine.spi.FilterDefinition, .NamedQueryDefinition, .NamedSQLQueryDefinition, .SessionFactoryImplementor, org.hibernate.id.IdentifierGenerator, org.hibernate.id.factory.IdentifierGeneratorFactory, org.hibernate.id.factory.spi.MutableIdentifierGeneratorFactory, org.hibernate.internal.CoreLogging, .CoreMessageLogger, .SessionFactoryImpl, org.hibernate.internal.util.StringHelper, org.hibernate.internal.util.collections.CollectionHelper, org.hibernate.mapping.Collection, .Column, .DenormalizedTable, .FetchProfile, .ForeignKey, .IdentifierCollection, .Index, .Join, .KeyValue, .MappedSuperclass, .PersistentClass, .Property, .RootClass, .SimpleValue, .Table, .UniqueKey, org.hibernate.query.spi.NamedQueryRepository, org.hibernate.type.Type, .TypeResolver, org.hibernate.type.spi.TypeConfiguration

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
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 final Map<String, AnnotatedClassType>
private Map<String, AnyMetaDef>
private final AttributeConverterManager
private final BootstrapContext
private final Map<String, Collection>
private Map<Table, InFlightMetadataCollectorImpl.TableColumnNameBinding>
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 MutableIdentifierGeneratorFactory
private final Map<String, IdentifierGeneratorDefinition>
private ArrayList<IdGeneratorResolverSecondPass>
private ArrayList<ImplicitColumnNamingSecondPass>
private final Map<String, String>
private boolean
private Map<Table, List<JPAIndexHolder>>
private static final CoreMessageLogger
private Map<Identifier, Identifier>
private Map<String, String>
private Map<Class<T>, MappedSuperclass>
private final Map<String, NamedEntityGraphDefinition>
private final Map<String, NamedSQLQueryDefinition>
private final Map<String, NamedProcedureCallDefinition>
private final Map<String, NamedQueryDefinition>
private Map<String, NaturalIdUniqueKeyBinder>
private final MetadataBuildingOptions
private Map<Identifier, Identifier>
private Map<XClass, Map<String, PropertyData>>
private Map<XClass, Map<String, PropertyData>>
private Map<String, String>
private ArrayList<QuerySecondPass>
private ArrayList<SecondaryTableSecondPass>
private ArrayList<SetSimpleValueTypeSecondPass>
private Map<String, SQLFunction>
private final Map<String, ResultSetMappingDefinition>
private final Map<String, TypeDefinition>
private Map<Table, List<UniqueConstraintHolder>>
private final UUID

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addAnyMetaDef(AnyMetaDef defAnn)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addAnyMetaDef.

Deprecated as a consequence of AnyMetaDef being deprecated.
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
addColumnNameBinding(Table table, String logicalName, Column column)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addColumnNameBinding.

Deprecated as a consequence of Table being deprecated.
public void
addColumnNameBinding(Table table, Identifier logicalName, Column column)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addColumnNameBinding.

Deprecated as a consequence of Table being deprecated.
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
???
includedTable
)

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

Deprecated as a consequence of Table being deprecated.
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
addEntityTableXref(String entityName, Identifier primaryTableLogicalName, Table primaryTable, InFlightMetadataCollector.EntityTableXref superEntityTableXref)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addEntityTableXref.

Deprecated as a consequence of Table being deprecated.
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
public void
addImport(String
The entity name being renamed.
importName
,
String
The rename
entityName
)

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

Adds an import (HQL entity rename).
public void
addJpaIndexHolders(Table table, List<JPAIndexHolder> holders)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addJpaIndexHolders.

Deprecated as a consequence of Table being deprecated.
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
addNamedNativeQuery(NamedSQLQueryDefinition
The metadata
def
)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addNamedNativeQuery.

Adds metadata for a named SQL query to this repository.
public void
addNamedProcedureCallDefinition(NamedProcedureCallDefinition
The procedure call information
definition
)

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

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

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

Adds metadata for a named query to this repository.
public void
public void
public void
public void
private void
addQuerySecondPass(QuerySecondPass secondPass, boolean onTopOfTheQueue)

public void
addResultSetMapping(ResultSetMappingDefinition
The metadata
resultSetMappingDefinition
)

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

Adds the metadata for a named SQL result set mapping to this repository.
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
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
)

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

Deprecated as a consequence of Table being deprecated.
Adds table metadata to this repository returning the created metadata instance.
public void
addTableNameBinding(Identifier logicalName, Table table)

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

Deprecated as a consequence of Table being deprecated.
public void
addTableNameBinding(String schema, String catalog, String logicalName, String realTableName, Table denormalizedSuperTable)

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

Deprecated as a consequence of Table being deprecated.
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.
private void
addTypeDefinition(String registrationKey, TypeDefinition typeDefinition)

public void
addUniqueConstraintHolders(Table table, List<UniqueConstraintHolder> uniqueConstraintHolders)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addUniqueConstraintHolders.

Deprecated as a consequence of Table being deprecated.
public void
addUniqueConstraints(Table table, List<E> uniqueConstraints)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.addUniqueConstraints.

Deprecated as a consequence of Table being deprecated.
public void
private void
private void
public void
public MetadataImpl

Returns:

The complete and immutable Metadata instance
buildMetadataInstance
(MetadataBuildingContext buildingContext)

Builds the complete and immutable Metadata instance from the collected info.

public NamedQueryRepository
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.

Deprecated as a consequence of SessionFactory being deprecated.
Short-hand form of building a org.hibernate.SessionFactory through the builder without any additional option overrides.
private void
buildUniqueKeyFromColumnNames(Table table, String keyName, String[] columnNames, MetadataBuildingContext buildingContext)

Deprecated as a consequence of Table being deprecated.
private void
buildUniqueKeyFromColumnNames(final Table table, String keyName, final String[] columnNames, String[] orderings, boolean unique, final MetadataBuildingContext buildingContext)

Deprecated as a consequence of Table being deprecated.
private void
public Collection<Table>
private int
determineCurrentNumberOfUniqueConstraintHolders(Table table)

Deprecated as a consequence of Table being deprecated.
private List<Identifier>
private String
extractName(Identifier identifier, Dialect dialect)

public AnyMetaDef
getAnyMetaDef(String name)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getAnyMetaDef.

Deprecated as a consequence of AnyMetaDef being deprecated.
public ConverterAutoApplyHandler
public BootstrapContext
public ClassmateContext
getClassmateContext()

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getClassmateContext.

Access to the shared Classmate objects used throughout Hibernate's bootstrap process.
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 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 IdentifierGeneratorDefinition
public IdentifierGeneratorFactory
getIdentifierGeneratorFactory()

Implements org.hibernate.engine.spi.Mapping.getIdentifierGeneratorFactory.

Allow access to the id generator factory, though this is only needed/allowed from configuration.
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
getLogicalColumnName(Table table, String physicalName)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalColumnName.

Deprecated as a consequence of Table being deprecated.
public String
getLogicalColumnName(Table table, Identifier physicalName)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalColumnName.

Deprecated as a consequence of Table being deprecated.
public String
getLogicalTableName(Table ownerTable)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getLogicalTableName.

Deprecated as a consequence of Table being deprecated.
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 NamedSQLQueryDefinition
getNamedNativeQueryDefinition(String
The SQL query name.
name
)

Implements org.hibernate.boot.Metadata.getNamedNativeQueryDefinition.

Retrieve named SQL query metadata.
public Collection<NamedSQLQueryDefinition>
public Collection<NamedProcedureCallDefinition>
public NamedQueryDefinition
getNamedQueryDefinition(String
The query name
name
)

Implements org.hibernate.boot.Metadata.getNamedQueryDefinition.

Retrieve named query metadata by name.
public Collection<NamedQueryDefinition>
public String
getPhysicalColumnName(Table table, String logicalName)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getPhysicalColumnName.

Deprecated as a consequence of Table being deprecated.
public String
getPhysicalColumnName(Table table, Identifier logicalName)

Implements org.hibernate.boot.spi.InFlightMetadataCollector.getPhysicalColumnName.

Deprecated as a consequence of Table being deprecated.
public String
public String
public PropertyData
public PropertyData
public String
public Type
public ResultSetMappingDefinition
getResultSetMapping(String
The mapping name.
name
)

Implements org.hibernate.boot.Metadata.getResultSetMapping.

Retrieve the metadata for a named SQL result set mapping.
public Map<String, ResultSetMappingDefinition>
public SessionFactoryBuilder
getSessionFactoryBuilder()

Implements org.hibernate.boot.Metadata.getSessionFactoryBuilder.

Get the builder for org.hibernate.SessionFactory instances based on this metamodel.
public Map<String, SQLFunction>
public TypeConfiguration
public TypeDefinition
getTypeDefinition(String
The name of the type definition to retrieve.
registrationKey
)

Implements org.hibernate.boot.Metadata.getTypeDefinition.

Retrieve a type definition by name.
public TypeResolver

Returns:

The type resolver
getTypeResolver
()

Implements org.hibernate.boot.spi.MetadataImplementor.getTypeResolver.

Deprecated (since 5.3) No replacement, access to and handling of Types will be much different in 6.0
Retrieve the Type resolver associated with this factory.
public UUID
getUUID()

Implements org.hibernate.boot.Metadata.getUUID.

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

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

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

private void
public void
private void
protected void
secondPassCompileForeignKeys(final Table table, Set<ForeignKey> done, final MetadataBuildingContext buildingContext)

Deprecated as a consequence of Table being deprecated.
private List<Identifier>
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait