Package org.hibernate.type.spi
Class TypeConfiguration
java.lang.Object
org.hibernate.type.spi.TypeConfiguration
- All Implemented Interfaces:
Serializable,SessionFactoryObserver
@Incubating
public class TypeConfiguration
extends Object
implements SessionFactoryObserver, Serializable
Each instance defines a set of types available in a given
persistence unit, and isolates them from other configurations.
Note that each instance of Type is inherently "scoped" to a
TypeConfiguration. We always obtain a reference to a Type
via the TypeConfiguration associated with the current persistence
unit.
On the other hand, a Type does not inherently have access to its
parent TypeConfiguration since extensions may contribute instances
of Type, via TypeContributions,
for example, and the instantiation of such instances occurs outside the
control of Hibernate.
In particular, a custom TypeContributor
may contribute types to a TypeConfiguration.
If a Type requires access to the parent TypeConfiguration,
it should implement TypeConfigurationAware.
- Since:
- 5.3
- Author:
- Steve Ebersole
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBasicTypeRegistrationContributions(List<BasicTypeRegistration> contributions) <J> MutabilityPlan<J>createMutabilityPlan(Class<? extends MutabilityPlan<?>> planClass) Class<?>entityClassForEntityName(String entityName) Workaround for an issue faced inEntityType.getReturnedClass().<J> BasicType<J>getBasicTypeForGenericJavaType(Class<? super J> javaType, Type... typeArguments) <J> BasicType<J>getBasicTypeForJavaType(Class<J> javaType) <J> BasicType<J>getBasicTypeForJavaType(Type javaType) Obtain theJpaCompliancesetting.Deprecated.This operation is not very typesafe, and we're migrating away from its useDeprecated.This simply isn't a very sensible place to hang theServiceRegistryDeprecated.This operation is not very typesafe, and we're migrating away from its useprotected static IntervalTypegetSqlIntervalType(int jdbcTypeCode) static IntervalTypegetSqlIntervalType(JdbcMappingContainer jdbcMappings) static IntervalTypegetSqlIntervalType(JdbcType descriptor) protected static TemporalTypegetSqlTemporalType(int jdbcTypeCode) static TemporalTypegetSqlTemporalType(JdbcMapping jdbcMapping) static TemporalTypegetSqlTemporalType(JdbcMappingContainer jdbcMappings) static TemporalTypegetSqlTemporalType(SqmExpressible<?> type) static TemporalTypegetSqlTemporalType(JdbcType descriptor) getUuid()static booleanisDuration(SqmExpressible<?> type) static booleanisJdbcTemporalType(SqmExpressible<?> type) resolveArithmeticType(SqmExpressible<?> firstType, SqmExpressible<?> secondType) Determine the result type of an arithmetic operation as defined by the rules in section 6.5.8.1.resolveArithmeticType(SqmExpressible<?> firstType, SqmExpressible<?> secondType, BinaryArithmeticOperator operator) BasicType<?>resolveCastTargetType(String name) Understands the following target type names for thecast()function:StringCharacterByte,Short,Integer,LongFloat,DoubleTime,Date,TimestampLocalDate,LocalTime,LocalDateTimeBigIntegerBigDecimalBinaryBoolean(fragile, not aware of encoding to character viaCharBooleanConverter)resolveTupleType(List<? extends SqmTypedNode<?>> typedNodes) voidscope(MetadataBuildingContext metadataBuildingContext) Scope thisTypeConfigurationto the givenMetadataBuildingContext.voidscope(SessionFactoryImplementor sessionFactory) Scope thisTypeConfigurationto the givenSessionFactory.voidsessionFactoryClosed(SessionFactory factory) Callback to indicate that the given factory has been closed.voidsessionFactoryCreated(SessionFactory factory) Callback to indicate that the given factory has been created and is now ready for use.<J> BasicType<J>standardBasicTypeForJavaType(Class<J> javaType) <J> BasicType<J>standardBasicTypeForJavaType(Class<J> javaType, Function<JavaType<J>, BasicType<J>> creator) BasicType<?>standardBasicTypeForJavaType(Type javaType) <J> BasicType<J>standardBasicTypeForJavaType(Type javaType, Function<JavaType<J>, BasicType<J>> creator) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.SessionFactoryObserver
sessionFactoryClosing
-
Constructor Details
-
TypeConfiguration
public TypeConfiguration()
-
-
Method Details
-
getUuid
-
getBasicTypeRegistry
-
getJavaTypeRegistry
-
getJdbcTypeRegistry
-
getDdlTypeRegistry
-
getCurrentBaseSqlTypeIndicators
-
getJdbcToHibernateTypeContributionMap
-
getMetadataBuildingContext
Deprecated.This operation is not very typesafe, and we're migrating away from its useObtain theMetadataBuildingContextcurrently scoping thisTypeConfiguration.- Returns:
- The
MetadataBuildingContext
-
scope
Scope thisTypeConfigurationto the givenMetadataBuildingContext.- Parameters:
metadataBuildingContext- aMetadataBuildingContext
-
scope
Scope thisTypeConfigurationto the givenSessionFactory.- Parameters:
sessionFactory- aSessionFactorythat is in a very fragile state
-
getSessionFactory
Deprecated.This operation is not very typesafe, and we're migrating away from its useObtain theSessionFactorycurrently scoping thisTypeConfiguration.- Returns:
- The
SessionFactoryto which thisTypeConfigurationis scoped - Throws:
HibernateException- if theTypeConfigurationis not currently scoped to aSessionFactory(in a "runtime stage").
-
getServiceRegistry
Deprecated.This simply isn't a very sensible place to hang theServiceRegistryObtain theServiceRegistryscoped to thisTypeConfiguration.- Returns:
- The
ServiceRegistryfor the current scope
-
getJpaCompliance
Obtain theJpaCompliancesetting. -
entityClassForEntityName
Workaround for an issue faced inEntityType.getReturnedClass(). -
sessionFactoryCreated
Description copied from interface:SessionFactoryObserverCallback to indicate that the given factory has been created and is now ready for use.- Specified by:
sessionFactoryCreatedin interfaceSessionFactoryObserver- Parameters:
factory- The factory initialized.
-
sessionFactoryClosed
Description copied from interface:SessionFactoryObserverCallback 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:
sessionFactoryClosedin interfaceSessionFactoryObserver- Parameters:
factory- The factory closed.
-
addBasicTypeRegistrationContributions
-
resolveCastTargetType
Understands the following target type names for thecast()function:StringCharacterByte,Short,Integer,LongFloat,DoubleTime,Date,TimestampLocalDate,LocalTime,LocalDateTimeBigIntegerBigDecimalBinaryBoolean(fragile, not aware of encoding to character viaCharBooleanConverter)
The type names are not case-sensitive.
-
resolveTupleType
-
resolveArithmeticType
public SqmExpressible<?> resolveArithmeticType(SqmExpressible<?> firstType, SqmExpressible<?> secondType, BinaryArithmeticOperator operator) -
resolveArithmeticType
public SqmExpressible<?> resolveArithmeticType(SqmExpressible<?> firstType, SqmExpressible<?> secondType) Determine the result type of an arithmetic operation as defined by the rules in section 6.5.8.1. -
getBasicTypeForGenericJavaType
-
getBasicTypeForJavaType
-
getBasicTypeForJavaType
-
standardBasicTypeForJavaType
-
standardBasicTypeForJavaType
-
standardBasicTypeForJavaType
-
standardBasicTypeForJavaType
-
getSqlTemporalType
-
getSqlTemporalType
-
getSqlTemporalType
-
getSqlTemporalType
-
getSqlTemporalType
-
getSqlTemporalType
-
getSqlIntervalType
-
getSqlIntervalType
-
getSqlIntervalType
-
isJdbcTemporalType
-
isDuration
-
createMutabilityPlan
@Internal public <J> MutabilityPlan<J> createMutabilityPlan(Class<? extends MutabilityPlan<?>> planClass)
-