Package org.hibernate.persister.entity
Class DiscriminatorType<T>
java.lang.Object
org.hibernate.type.AbstractType
org.hibernate.persister.entity.DiscriminatorType<T>
- All Implemented Interfaces:
BasicType<T>,Type<T>,Serializable,BasicValuedMapping,Bindable,JdbcMapping,JdbcMappingContainer,MappingModelExpressible,MappingType,SqlExpressible,ValueMapping,BasicDomainType<T>,DomainType<T>,ReturnableType<T>,SimpleDomainType<T>,SqmBindableType<T>,SqmExpressible<T>,SqmDomainType<T>,BasicType<T>,BindableType<T>,JavaTypedExpressible,OutputableType<T>,Type
@Internal
@Deprecated(since="6.2",
forRemoval=true)
public class DiscriminatorType<T>
extends AbstractType
implements BasicType<T>
Deprecated, for removal: This API element is subject to removal in a future version.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>, Bindable.JdbcValuesConsumer Nested classes/interfaces inherited from interface jakarta.persistence.metamodel.Type
Type.PersistenceType -
Constructor Summary
ConstructorsConstructorDescriptionDiscriminatorType(BasicType<?> underlyingType, EntityPersister persister, DiscriminatorConverter converter) Deprecated, for removal: This API element is subject to removal in a future version. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddToCacheKey(MutableCacheKeyBuilder cacheKey, Object value, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Add to the MutableCacheKey the values obtained disassembling the value and the hasCode generated from the disassembled value.booleanDeprecated, for removal: This API element is subject to removal in a future version.Can the given instance of this type actually perform the parameter value extractions?deepCopy(Object value, SessionFactoryImplementor factory) Deprecated, for removal: This API element is subject to removal in a future version.Return a deep copy of the persistent state, stopping at entities and at collections.disassemble(Object value, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Breaks down a value ofJinto its simple pieces.extract(CallableStatement statement, int paramIndex, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Perform the extractionextract(CallableStatement statement, String paramName, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Perform the extractionintgetColumnSpan(MappingContext mapping) Deprecated, for removal: This API element is subject to removal in a future version.How many columns are used to persist this type?Deprecated, for removal: This API element is subject to removal in a future version.TheJavaTyperepresenting this domain type.Deprecated, for removal: This API element is subject to removal in a future version.The Java class which represents by this domain type.Deprecated, for removal: This API element is subject to removal in a future version.The descriptor for the Java type represented by this expressible typeJavaType<?> Deprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.The strategy for formatting values of this expressible type to a SQL literal.Deprecated, for removal: This API element is subject to removal in a future version.Descriptor for the SQL type mapped by this type.Deprecated, for removal: This API element is subject to removal in a future version.The strategy for binding values of this expressible type to JDBCPreparedStatements andCallableStatements.Deprecated, for removal: This API element is subject to removal in a future version.The strategy for extracting values of this expressible type from JDBC ResultSets, CallableStatements, etcDeprecated, for removal: This API element is subject to removal in a future version.The descriptor descriptor for the mapped Java typegetName()Deprecated, for removal: This API element is subject to removal in a future version.Returns the abbreviated name of the type.String[]Deprecated, for removal: This API element is subject to removal in a future version.Get the names under which this type should be registered in the type registry.Class<?> Deprecated, for removal: This API element is subject to removal in a future version.The class handled by this type.int[]getSqlTypeCodes(MappingContext mappingContext) Deprecated, for removal: This API element is subject to removal in a future version.BasicType<?> Deprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.Returns the converter that this basic type uses for transforming from the domain type, to the relational type, ornullif there is no conversion.booleanisDirty(Object old, Object current, boolean[] checkable, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Should the parent be considered dirty, given both the old and current value?booleanDeprecated, for removal: This API element is subject to removal in a future version.Are objects of this type mutable with respect to the referencing object? Entities and collections are considered immutable because they manage their own internal state.voidnullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Bind a value represented by an instance of themapped classto the given JDBCPreparedStatement, ignoring some columns as dictated by thesettableparameter.voidnullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor session) Deprecated, for removal: This API element is subject to removal in a future version.Bind a value represented by an instance of themapped classto the given JDBCPreparedStatement, ignoring some columns as dictated by thesettableparameter.replace(Object original, Object target, SharedSessionContractImplementor session, Object owner, Map<Object, Object> copyCache) Deprecated, for removal: This API element is subject to removal in a future version.During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging.boolean[]toColumnNullness(Object value, MappingContext mapping) Deprecated, for removal: This API element is subject to removal in a future version.Given an instance of the type, return an array ofbooleanvalues indicating which mapped columns would be null.toLoggableString(Object value, SessionFactoryImplementor factory) Deprecated, for removal: This API element is subject to removal in a future version.Generate a representation of the given value for logging purposes.Methods inherited from class org.hibernate.type.AbstractType
assemble, beforeAssemble, compare, disassemble, disassemble, getHashCode, getHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isEntityType, isEqual, isEqual, isModified, isSame, replaceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.metamodel.model.domain.BasicDomainType
getPersistenceTypeMethods inherited from interface org.hibernate.type.BasicType
compare, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcType, getCheckCondition, getJdbcMapping, getJdbcMapping, getJdbcTypeCount, getMappedType, getSingleJdbcMapping, getSqmTypeMethods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValueMethods inherited from interface org.hibernate.metamodel.mapping.JdbcMapping
convertToDomainValue, convertToRelationalValue, getCastTypeMethods inherited from interface org.hibernate.query.sqm.SqmBindableType
resolveExpressibleMethods inherited from interface org.hibernate.query.sqm.tree.domain.SqmDomainType
getTupleLength, getTypeNameMethods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaTypeMethods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, disassemble, disassemble, getHashCode, getHashCode, getReturnedClassName, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isEntityType, isEqual, isEqual, isModified, isSame, replaceMethods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
treatAs
-
Constructor Details
-
DiscriminatorType
public DiscriminatorType(BasicType<?> underlyingType, EntityPersister persister, DiscriminatorConverter converter) Deprecated, for removal: This API element is subject to removal in a future version.
-
-
Method Details
-
getUnderlyingType
Deprecated, for removal: This API element is subject to removal in a future version. -
getValueConverter
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMappingReturns the converter that this basic type uses for transforming from the domain type, to the relational type, ornullif there is no conversion.- Specified by:
getValueConverterin interfaceBasicType<T>- Specified by:
getValueConverterin interfaceJdbcMapping
-
getJdbcJavaType
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getJdbcJavaTypein interfaceJdbcMapping
-
getReturnedClass
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeThe class handled by this type.- Specified by:
getReturnedClassin interfaceType- Returns:
- The Java class handled by this type.
-
getJavaType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:DomainTypeThe Java class which represents by this domain type.- Specified by:
getJavaTypein interfaceBasicDomainType<T>- Specified by:
getJavaTypein interfaceBasicType<T>- Specified by:
getJavaTypein interfaceDomainType<T>- Specified by:
getJavaTypein interfaceSimpleDomainType<T>- Specified by:
getJavaTypein interfaceType<T>- See Also:
-
getName
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeReturns the abbreviated name of the type. -
isMutable
public boolean isMutable()Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeAre objects of this type mutable with respect to the referencing object? Entities and collections are considered immutable because they manage their own internal state. -
toLoggableString
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeGenerate a representation of the given value for logging purposes.- Specified by:
toLoggableStringin interfaceType- Parameters:
value- The value to be loggedfactory- The session factory- Returns:
- The loggable representation
-
deepCopy
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeReturn a deep copy of the persistent state, stopping at entities and at collections. -
toColumnNullness
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeGiven an instance of the type, return an array ofbooleanvalues indicating which mapped columns would be null.- Specified by:
toColumnNullnessin interfaceType- Parameters:
value- an instance of the typemapping- The mapping contextMappingContext- Returns:
- array indicating column nullness for a value instance
-
getSqlTypeCodes
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeReturn the JDBC types codes as defined byTypesorSqlTypesfor the columns mapped by this type.The number of elements in this array must match the return from
Type.getColumnSpan(org.hibernate.type.MappingContext).- Specified by:
getSqlTypeCodesin interfaceType- Parameters:
mappingContext- The mapping contextMappingContext:/- Returns:
- The JDBC type codes.
- Throws:
MappingException- Generally indicates an issue accessing the passed mapping object.
-
getColumnSpan
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:TypeHow many columns are used to persist this type?Always the same as
getSqlTypCodes(mappingContext).length.- Specified by:
getColumnSpanin interfaceType- Parameters:
mapping- The mapping Context objectMappingContext- Returns:
- The number of columns
- Throws:
MappingException- Generally indicates an issue accessing the passed mappingContext object.
-
canDoExtraction
public boolean canDoExtraction()Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:OutputableTypeCan the given instance of this type actually perform the parameter value extractions?- Specified by:
canDoExtractionin interfaceOutputableType<T>- Returns:
trueindicates thatOutputableType.extract(java.sql.CallableStatement, int, org.hibernate.engine.spi.SharedSessionContractImplementor)calls will not fail due toIllegalStateException.
-
getExpressibleJavaType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:DomainTypeTheJavaTyperepresenting this domain type.- Specified by:
getExpressibleJavaTypein interfaceBasicType<T>- Specified by:
getExpressibleJavaTypein interfaceDomainType<T>- Specified by:
getExpressibleJavaTypein interfaceJavaTypedExpressible<T>- Specified by:
getExpressibleJavaTypein interfaceSqmExpressible<T>- Specified by:
getExpressibleJavaTypein interfaceValueMapping
-
getJavaTypeDescriptor
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMappingThe descriptor for the Java type represented by this expressible type- Specified by:
getJavaTypeDescriptorin interfaceBasicType<T>- Specified by:
getJavaTypeDescriptorin interfaceJdbcMapping
-
getMappedJavaType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:MappingTypeThe descriptor descriptor for the mapped Java type- Specified by:
getMappedJavaTypein interfaceBasicType<T>- Specified by:
getMappedJavaTypein interfaceJdbcMapping- Specified by:
getMappedJavaTypein interfaceMappingType
-
getJdbcType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:OutputableTypeDescriptor for the SQL type mapped by this type.- Specified by:
getJdbcTypein interfaceJdbcMapping- Specified by:
getJdbcTypein interfaceOutputableType<T>
-
getJdbcValueExtractor
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMappingThe strategy for extracting values of this expressible type from JDBC ResultSets, CallableStatements, etc- Specified by:
getJdbcValueExtractorin interfaceBasicType<T>- Specified by:
getJdbcValueExtractorin interfaceJdbcMapping
-
getJdbcValueBinder
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMappingThe strategy for binding values of this expressible type to JDBCPreparedStatements andCallableStatements.- Specified by:
getJdbcValueBinderin interfaceBasicType<T>- Specified by:
getJdbcValueBinderin interfaceJdbcMapping
-
getJdbcLiteralFormatter
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMappingThe strategy for formatting values of this expressible type to a SQL literal.- Specified by:
getJdbcLiteralFormatterin interfaceBasicType<T>- Specified by:
getJdbcLiteralFormatterin interfaceJdbcMapping
-
getRegistrationKeys
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:BasicTypeGet the names under which this type should be registered in the type registry.- Specified by:
getRegistrationKeysin interfaceBasicType<T>- Returns:
- The keys under which to register this type.
-
DiscriminatorMetadataandMetaTypehave been consolidated intoEntityDiscriminatorMappingandDiscriminatorConverter