Package org.hibernate.boot.spi
Interface InFlightMetadataCollector
-
- All Superinterfaces:
Mapping
,Metadata
,MetadataImplementor
public interface InFlightMetadataCollector extends Mapping, MetadataImplementor
An in-flight representation of Metadata while Metadata is being built.- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
InFlightMetadataCollector.DelayedPropertyReferenceHandler
static class
InFlightMetadataCollector.DuplicateSecondaryTableException
static interface
InFlightMetadataCollector.EntityTableXref
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description void
addAnyMetaDef(AnyMetaDef defAnn)
void
addAttributeConverter(Class<? extends AttributeConverter> converterClass)
void
addAttributeConverter(ConverterDescriptor descriptor)
default void
addAttributeConverter(AttributeConverterDefinition converter)
Deprecated.AttributeConverterDefinition forces early resolution of the AttributeConverter instance, which precludes resolution of the converter fromManagedBeanRegistry
(CDI, etc).void
addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryDatabaseObject)
Add metadata pertaining to an auxiliary database object to this repository.AnnotatedClassType
addClassType(org.hibernate.annotations.common.reflection.XClass clazz)
void
addCollectionBinding(Collection collection)
Add collection mapping metadata to this repository.void
addColumnNameBinding(Table table, String logicalColumnName, Column column)
void
addColumnNameBinding(Table table, Identifier logicalColumnName, Column column)
void
addDefaultIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition)
void
addDefaultNamedNativeQuery(NamedSQLQueryDefinition query)
void
addDefaultNamedProcedureCallDefinition(NamedProcedureCallDefinition procedureCallDefinition)
void
addDefaultQuery(NamedQueryDefinition queryDefinition)
void
addDefaultResultSetMapping(ResultSetMappingDefinition definition)
void
addDelayedPropertyReferenceHandler(InFlightMetadataCollector.DelayedPropertyReferenceHandler handler)
Table
addDenormalizedTable(String schema, String catalog, String name, boolean isAbstract, String subselect, Table includedTable)
Adds a 'denormalized table' to this repository.void
addEntityBinding(PersistentClass persistentClass)
Add the PersistentClass for an entity mapping.InFlightMetadataCollector.EntityTableXref
addEntityTableXref(String entityName, Identifier primaryTableLogicalName, Table primaryTable, InFlightMetadataCollector.EntityTableXref superEntityTableXref)
void
addFetchProfile(FetchProfile profile)
void
addFilterDefinition(FilterDefinition definition)
Adds a filter definition to this repository.void
addIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition)
void
addImport(String entityName, String rename)
Adds an import (HQL entity rename).void
addJpaIndexHolders(Table table, List<JPAIndexHolder> jpaIndexHolders)
void
addMappedBy(String name, String mappedBy, String propertyName)
void
addMappedSuperclass(Class type, MappedSuperclass mappedSuperclass)
void
addNamedEntityGraph(NamedEntityGraphDefinition namedEntityGraphDefinition)
Adds metadata for a named entity graph to this repositoryvoid
addNamedNativeQuery(NamedSQLQueryDefinition query)
Adds metadata for a named SQL query to this repository.void
addNamedProcedureCallDefinition(NamedProcedureCallDefinition definition)
Adds metadata for a named stored procedure call to this repository.void
addNamedQuery(NamedQueryDefinition query)
Adds metadata for a named query to this repository.void
addPropertyAnnotatedWithMapsId(org.hibernate.annotations.common.reflection.XClass entity, PropertyData propertyAnnotatedElement)
void
addPropertyAnnotatedWithMapsIdSpecj(org.hibernate.annotations.common.reflection.XClass entity, PropertyData specJPropertyData, String s)
void
addPropertyReference(String entityName, String propertyName)
void
addPropertyReferencedAssociation(String s, String propertyName, String syntheticPropertyName)
void
addResultSetMapping(ResultSetMappingDefinition sqlResultSetMapping)
Adds the metadata for a named SQL result set mapping to this repository.void
addSecondPass(SecondPass secondPass)
void
addSecondPass(SecondPass sp, boolean onTopOfTheQueue)
Table
addTable(String schema, String catalog, String name, String subselect, boolean isAbstract)
Adds table metadata to this repository returning the created metadata instance.void
addTableNameBinding(String schema, String catalog, String logicalName, String realTableName, Table denormalizedSuperTable)
void
addTableNameBinding(Identifier logicalName, Table table)
void
addToOneAndIdProperty(org.hibernate.annotations.common.reflection.XClass entity, PropertyData propertyAnnotatedElement)
void
addTypeDefinition(TypeDefinition typeDefinition)
Adds a type definition to this metadata repository.void
addUniqueConstraintHolders(Table table, List<UniqueConstraintHolder> uniqueConstraints)
void
addUniqueConstraints(Table table, List uniqueConstraints)
void
addUniquePropertyReference(String entityName, String propertyName)
AnyMetaDef
getAnyMetaDef(String anyMetaDefName)
ConverterAutoApplyHandler
getAttributeConverterAutoApplyHandler()
BootstrapContext
getBootstrapContext()
org.hibernate.boot.internal.ClassmateContext
getClassmateContext()
Deprecated.UseBootstrapContext.getClassmateContext()
instead.AnnotatedClassType
getClassType(org.hibernate.annotations.common.reflection.XClass clazz)
Map<String,PersistentClass>
getEntityBindingMap()
Needed for SecondPass handlingInFlightMetadataCollector.EntityTableXref
getEntityTableXref(String entityName)
String
getFromMappedBy(String ownerEntityName, String propertyName)
Map<String,Join>
getJoins(String entityName)
String
getLogicalColumnName(Table table, String physicalName)
String
getLogicalColumnName(Table table, Identifier physicalName)
String
getLogicalTableName(Table ownerTable)
MappedSuperclass
getMappedSuperclass(Class type)
String
getPhysicalColumnName(Table table, String logicalName)
String
getPhysicalColumnName(Table table, Identifier logicalName)
String
getPhysicalTableName(String logicalName)
String
getPhysicalTableName(Identifier logicalName)
PropertyData
getPropertyAnnotatedWithIdAndToOne(org.hibernate.annotations.common.reflection.XClass persistentXClass, String propertyName)
PropertyData
getPropertyAnnotatedWithMapsId(org.hibernate.annotations.common.reflection.XClass persistentXClass, String propertyName)
String
getPropertyReferencedAssociation(String entityName, String mappedBy)
boolean
isInSecondPass()
NaturalIdUniqueKeyBinder
locateNaturalIdUniqueKeyBinder(String entityName)
void
registerNaturalIdUniqueKeyBinder(String entityName, NaturalIdUniqueKeyBinder ukBinder)
-
Methods inherited from interface org.hibernate.engine.spi.Mapping
getIdentifierGeneratorFactory, getIdentifierPropertyName, getIdentifierType, getReferencedPropertyType
-
Methods inherited from interface org.hibernate.boot.Metadata
buildSessionFactory, collectTableMappings, getCollectionBinding, getCollectionBindings, getDatabase, getEntityBinding, getEntityBindings, getFetchProfile, getFetchProfiles, getFilterDefinition, getFilterDefinitions, getIdentifierGenerator, getImports, getNamedEntityGraph, getNamedEntityGraphs, getNamedNativeQueryDefinition, getNamedNativeQueryDefinitions, getNamedProcedureCallDefinitions, getNamedQueryDefinition, getNamedQueryDefinitions, getResultSetMapping, getResultSetMappingDefinitions, getSessionFactoryBuilder, getSqlFunctionMap, getTypeDefinition, getUUID
-
Methods inherited from interface org.hibernate.boot.spi.MetadataImplementor
buildNamedQueryRepository, getMappedSuperclassMappingsCopy, getMetadataBuildingOptions, getTypeConfiguration, getTypeResolver, validate
-
-
-
-
Method Detail
-
getBootstrapContext
BootstrapContext getBootstrapContext()
-
addEntityBinding
void addEntityBinding(PersistentClass persistentClass) throws DuplicateMappingException
Add the PersistentClass for an entity mapping.- Parameters:
persistentClass
- The entity metadata- Throws:
DuplicateMappingException
- Indicates there was already an entry corresponding to the given entity name.
-
getEntityBindingMap
Map<String,PersistentClass> getEntityBindingMap()
Needed for SecondPass handling
-
addImport
void addImport(String entityName, String rename) throws DuplicateMappingException
Adds an import (HQL entity rename).- Parameters:
entityName
- The entity name being renamed.rename
- The rename- Throws:
DuplicateMappingException
- If rename already is mapped to another entity name in this repository.
-
addCollectionBinding
void addCollectionBinding(Collection collection) throws DuplicateMappingException
Add collection mapping metadata to this repository.- Parameters:
collection
- The collection metadata- Throws:
DuplicateMappingException
- Indicates there was already an entry corresponding to the given collection role
-
addTable
Table addTable(String schema, String catalog, String name, String subselect, boolean isAbstract)
Adds table metadata to this repository returning the created metadata instance.- Parameters:
schema
- The named schema in which the table belongs (or null).catalog
- The named catalog in which the table belongs (or null).name
- The table namesubselect
- A select statement which defines a logical table, much like a DB view.isAbstract
- Is the table abstract (i.e. not really existing in the DB)?- Returns:
- The created table metadata, or the existing reference.
-
addDenormalizedTable
Table addDenormalizedTable(String schema, String catalog, String name, boolean isAbstract, String subselect, Table includedTable) throws DuplicateMappingException
Adds a 'denormalized table' to this repository.- Parameters:
schema
- The named schema in which the table belongs (or null).catalog
- The named catalog in which the table belongs (or null).name
- The table nameisAbstract
- Is the table abstract (i.e. not really existing in the DB)?subselect
- A select statement which defines a logical table, much like a DB view.includedTable
- ???- Returns:
- The created table metadata.
- Throws:
DuplicateMappingException
- If such a table mapping already exists.
-
addNamedQuery
void addNamedQuery(NamedQueryDefinition query) throws DuplicateMappingException
Adds metadata for a named query to this repository.- Parameters:
query
- The metadata- Throws:
DuplicateMappingException
- If a query already exists with that name.
-
addNamedNativeQuery
void addNamedNativeQuery(NamedSQLQueryDefinition query) throws DuplicateMappingException
Adds metadata for a named SQL query to this repository.- Parameters:
query
- The metadata- Throws:
DuplicateMappingException
- If a query already exists with that name.
-
addResultSetMapping
void addResultSetMapping(ResultSetMappingDefinition sqlResultSetMapping) throws DuplicateMappingException
Adds the metadata for a named SQL result set mapping to this repository.- Parameters:
sqlResultSetMapping
- The metadata- Throws:
DuplicateMappingException
- If metadata for another SQL result mapping was already found under the given name.
-
addNamedProcedureCallDefinition
void addNamedProcedureCallDefinition(NamedProcedureCallDefinition definition) throws DuplicateMappingException
Adds metadata for a named stored procedure call to this repository.- Parameters:
definition
- The procedure call information- Throws:
DuplicateMappingException
- If a query already exists with that name.
-
addNamedEntityGraph
void addNamedEntityGraph(NamedEntityGraphDefinition namedEntityGraphDefinition)
Adds metadata for a named entity graph to this repository- Parameters:
namedEntityGraphDefinition
- The procedure call information- Throws:
DuplicateMappingException
- If an entity graph already exists with that name.
-
addTypeDefinition
void addTypeDefinition(TypeDefinition typeDefinition)
Adds a type definition to this metadata repository.- Parameters:
typeDefinition
- The named type definition to add.- Throws:
DuplicateMappingException
- If a TypeDefinition already exists with that name.
-
addFilterDefinition
void addFilterDefinition(FilterDefinition definition)
Adds a filter definition to this repository.- Parameters:
definition
- The filter definition to add.- Throws:
DuplicateMappingException
- If a FilterDefinition already exists with that name.
-
addAuxiliaryDatabaseObject
void addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryDatabaseObject)
Add metadata pertaining to an auxiliary database object to this repository.- Parameters:
auxiliaryDatabaseObject
- The metadata.
-
addFetchProfile
void addFetchProfile(FetchProfile profile)
-
addIdentifierGenerator
void addIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition)
-
addAttributeConverter
@Deprecated default void addAttributeConverter(AttributeConverterDefinition converter)
Deprecated.AttributeConverterDefinition forces early resolution of the AttributeConverter instance, which precludes resolution of the converter fromManagedBeanRegistry
(CDI, etc). Instead one of: *addAttributeConverter(ConverterDescriptor)
*addAttributeConverter(Class)
*addAttributeConverter(Class)
-
addAttributeConverter
void addAttributeConverter(ConverterDescriptor descriptor)
-
addAttributeConverter
void addAttributeConverter(Class<? extends AttributeConverter> converterClass)
-
getAttributeConverterAutoApplyHandler
ConverterAutoApplyHandler getAttributeConverterAutoApplyHandler()
-
addSecondPass
void addSecondPass(SecondPass secondPass)
-
addSecondPass
void addSecondPass(SecondPass sp, boolean onTopOfTheQueue)
-
addTableNameBinding
void addTableNameBinding(Identifier logicalName, Table table)
-
addTableNameBinding
void addTableNameBinding(String schema, String catalog, String logicalName, String realTableName, Table denormalizedSuperTable)
-
getPhysicalTableName
String getPhysicalTableName(Identifier logicalName)
-
addColumnNameBinding
void addColumnNameBinding(Table table, Identifier logicalColumnName, Column column)
-
addColumnNameBinding
void addColumnNameBinding(Table table, String logicalColumnName, Column column)
-
getPhysicalColumnName
String getPhysicalColumnName(Table table, Identifier logicalName) throws MappingException
- Throws:
MappingException
-
getPhysicalColumnName
String getPhysicalColumnName(Table table, String logicalName) throws MappingException
- Throws:
MappingException
-
getLogicalColumnName
String getLogicalColumnName(Table table, Identifier physicalName)
-
addDefaultIdentifierGenerator
void addDefaultIdentifierGenerator(IdentifierGeneratorDefinition generatorDefinition)
-
addDefaultQuery
void addDefaultQuery(NamedQueryDefinition queryDefinition)
-
addDefaultNamedNativeQuery
void addDefaultNamedNativeQuery(NamedSQLQueryDefinition query)
-
addDefaultResultSetMapping
void addDefaultResultSetMapping(ResultSetMappingDefinition definition)
-
addDefaultNamedProcedureCallDefinition
void addDefaultNamedProcedureCallDefinition(NamedProcedureCallDefinition procedureCallDefinition)
-
addAnyMetaDef
void addAnyMetaDef(AnyMetaDef defAnn)
-
getAnyMetaDef
AnyMetaDef getAnyMetaDef(String anyMetaDefName)
-
addClassType
AnnotatedClassType addClassType(org.hibernate.annotations.common.reflection.XClass clazz)
-
getClassType
AnnotatedClassType getClassType(org.hibernate.annotations.common.reflection.XClass clazz)
-
addMappedSuperclass
void addMappedSuperclass(Class type, MappedSuperclass mappedSuperclass)
-
getMappedSuperclass
MappedSuperclass getMappedSuperclass(Class type)
-
getPropertyAnnotatedWithMapsId
PropertyData getPropertyAnnotatedWithMapsId(org.hibernate.annotations.common.reflection.XClass persistentXClass, String propertyName)
-
addPropertyAnnotatedWithMapsId
void addPropertyAnnotatedWithMapsId(org.hibernate.annotations.common.reflection.XClass entity, PropertyData propertyAnnotatedElement)
-
addPropertyAnnotatedWithMapsIdSpecj
void addPropertyAnnotatedWithMapsIdSpecj(org.hibernate.annotations.common.reflection.XClass entity, PropertyData specJPropertyData, String s)
-
addToOneAndIdProperty
void addToOneAndIdProperty(org.hibernate.annotations.common.reflection.XClass entity, PropertyData propertyAnnotatedElement)
-
getPropertyAnnotatedWithIdAndToOne
PropertyData getPropertyAnnotatedWithIdAndToOne(org.hibernate.annotations.common.reflection.XClass persistentXClass, String propertyName)
-
isInSecondPass
boolean isInSecondPass()
-
locateNaturalIdUniqueKeyBinder
NaturalIdUniqueKeyBinder locateNaturalIdUniqueKeyBinder(String entityName)
-
registerNaturalIdUniqueKeyBinder
void registerNaturalIdUniqueKeyBinder(String entityName, NaturalIdUniqueKeyBinder ukBinder)
-
getClassmateContext
@Deprecated org.hibernate.boot.internal.ClassmateContext getClassmateContext()
Deprecated.UseBootstrapContext.getClassmateContext()
instead.Access to the shared Classmate objects used throughout Hibernate's bootstrap process.- Returns:
- Access to the shared Classmate delegates.
-
addDelayedPropertyReferenceHandler
void addDelayedPropertyReferenceHandler(InFlightMetadataCollector.DelayedPropertyReferenceHandler handler)
-
addPropertyReferencedAssociation
void addPropertyReferencedAssociation(String s, String propertyName, String syntheticPropertyName)
-
getPropertyReferencedAssociation
String getPropertyReferencedAssociation(String entityName, String mappedBy)
-
addUniqueConstraintHolders
void addUniqueConstraintHolders(Table table, List<UniqueConstraintHolder> uniqueConstraints)
-
addJpaIndexHolders
void addJpaIndexHolders(Table table, List<JPAIndexHolder> jpaIndexHolders)
-
getEntityTableXref
InFlightMetadataCollector.EntityTableXref getEntityTableXref(String entityName)
-
addEntityTableXref
InFlightMetadataCollector.EntityTableXref addEntityTableXref(String entityName, Identifier primaryTableLogicalName, Table primaryTable, InFlightMetadataCollector.EntityTableXref superEntityTableXref)
-
-