Class TypeConfiguration

  • All Implemented Interfaces:
    java.io.Serializable, SessionFactoryObserver

    public class TypeConfiguration
    extends java.lang.Object
    implements SessionFactoryObserver, java.io.Serializable
    Defines a set of available Type instances as isolated from other configurations. The isolation is defined by each instance of a TypeConfiguration.

    Note that each Type is inherently "scoped" to a TypeConfiguration. We only ever access a Type through a TypeConfiguration - specifically the TypeConfiguration in effect for the current persistence unit.

    Even though each Type instance is scoped to a TypeConfiguration, Types do not inherently have access to that TypeConfiguration (mainly because Type is an extension contract - meaning that Hibernate does not manage the full set of Types available in ever TypeConfiguration). However Types will often want access to the TypeConfiguration, which can be achieved by the Type simply implementing the TypeConfigurationAware interface.

    Since:
    5.3
    See Also:
    Serialized Form
    • Constructor Detail

      • TypeConfiguration

        public TypeConfiguration()
    • Method Detail

      • getUuid

        public java.lang.String getUuid()
      • getTypeResolver

        @Deprecated
        public TypeResolver getTypeResolver()
        Deprecated.
        (since 5.3) No replacement, access to and handling of Types will be much different in 6.0
        Temporarily needed to support deprecations Retrieve the Type resolver associated with this factory.
        Returns:
        The type resolver
      • getImportMap

        public java.util.Map<java.lang.String,​java.lang.String> getImportMap()
      • getJdbcToHibernateTypeContributionMap

        public java.util.Map<java.lang.Integer,​java.util.Set<java.lang.String>> getJdbcToHibernateTypeContributionMap()
      • getMetadataBuildingContext

        public MetadataBuildingContext getMetadataBuildingContext()
        Obtain the MetadataBuildingContext currently scoping the TypeConfiguration.
        Returns:
        The MetadataBuildingContext
        ApiNote:
        This will throw an exception if the SessionFactory is not yet bound here. See TypeConfiguration.Scope for more details regarding the stages a TypeConfiguration goes through
      • getSessionFactory

        public SessionFactoryImplementor getSessionFactory()
        Obtain the SessionFactory currently scoping the TypeConfiguration.
        Returns:
        The SessionFactory
        Throws:
        java.lang.IllegalStateException - if the TypeConfiguration is currently not associated with a SessionFactory (in "runtime stage").
        ApiNote:
        This will throw an exception if the SessionFactory is not yet bound here. See TypeConfiguration.Scope for more details regarding the stages a TypeConfiguration goes through (this is "runtime stage")
      • getServiceRegistry

        public ServiceRegistry getServiceRegistry()
        Obtain the ServiceRegistry scoped to the TypeConfiguration.
        Returns:
        The ServiceRegistry
        ApiNote:
        Depending on what the TypeConfiguration.Scope is currently scoped to will determine where the ServiceRegistry is obtained from.
      • sessionFactoryClosed

        public void sessionFactoryClosed​(SessionFactory factory)
        Description copied from interface: SessionFactoryObserver
        Callback to indicate that the given factory has been closed. Care should be taken in how (if at all) the passed factory reference is used since it is closed.
        Specified by:
        sessionFactoryClosed in interface SessionFactoryObserver
        Parameters:
        factory - The factory closed.
      • addBasicTypeRegistrationContributions

        public void addBasicTypeRegistrationContributions​(java.util.List<BasicTypeRegistration> contributions)