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>
,SimpleDomainType<T>
,BindableType<T>
,OutputableType<T>
,ReturnableType<T>
,SqmExpressible<T>
,BasicType<T>
,JavaTypedExpressible
,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 TypeMethodDescriptionvoid
addToCacheKey
(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.boolean
Deprecated, 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 ofJ
into 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 extractionint
getColumnSpan
(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.The Java type descriptor for this expressibleDeprecated, 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 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 JDBCPreparedStatement
s andCallableStatement
s.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, ornull
if there is no conversion.boolean
isDirty
(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?boolean
Deprecated, 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.void
nullSafeSet
(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 class
to the given JDBCPreparedStatement
, ignoring some columns as dictated by thesettable
parameter.void
nullSafeSet
(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 class
to the given JDBCPreparedStatement
, ignoring some columns as dictated by thesettable
parameter.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 ofboolean
values 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, replace
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.metamodel.model.domain.BasicDomainType
areEqual, getPersistenceType
Methods inherited from interface org.hibernate.type.BasicType
compare, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcType, getCheckCondition, getJdbcMapping, getJdbcMapping, getJdbcTypeCount, getMappedType, getSingleJdbcMapping
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue
Methods inherited from interface org.hibernate.metamodel.model.domain.DomainType
getSqmType, getTupleLength
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMapping
convertToDomainValue, convertToRelationalValue, getCastType
Methods inherited from interface org.hibernate.metamodel.model.domain.SimpleDomainType
getBindableJavaType
Methods inherited from interface org.hibernate.query.sqm.SqmExpressible
getRelationalJavaType, getTypeName, isInstance, resolveExpressible
Methods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, disassemble, disassemble, getColumnSpan, getHashCode, getHashCode, getReturnedClassName, getSqlTypeCodes, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isEntityType, isEqual, isEqual, isModified, isSame, replace, toColumnNullness
Methods 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:JdbcMapping
Returns the converter that this basic type uses for transforming from the domain type, to the relational type, ornull
if there is no conversion.- Specified by:
getValueConverter
in interfaceBasicType<T>
- Specified by:
getValueConverter
in interfaceJdbcMapping
-
getJdbcJavaType
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getJdbcJavaType
in interfaceJdbcMapping
-
getReturnedClass
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:Type
The class handled by this type.- Specified by:
getReturnedClass
in interfaceType
- Returns:
- The Java class handled by this type.
-
getJavaType
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
getJavaType
in interfaceType<T>
-
getName
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:Type
Returns 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:Type
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. -
toLoggableString
public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:Type
Generate a representation of the given value for logging purposes.- Specified by:
toLoggableString
in interfaceType
- Parameters:
value
- The value to be loggedfactory
- The session factory- Returns:
- The loggable representation
- Throws:
HibernateException
- An error from Hibernate
-
deepCopy
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:Type
Return a deep copy of the persistent state, stopping at entities and at collections.- Specified by:
deepCopy
in interfaceType
- Parameters:
value
- The value to be copiedfactory
- The session factory- Returns:
- The deep copy
- Throws:
HibernateException
- An error from Hibernate
-
toColumnNullness
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:Type
Given an instance of the type, return an array ofboolean
values indicating which mapped columns would be null.- Specified by:
toColumnNullness
in 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:Type
Return the JDBC types codes as defined byTypes
orSqlTypes
for the columns mapped by this type.The number of elements in this array must match the return from
Type.getColumnSpan(org.hibernate.engine.spi.Mapping)
.- Specified by:
getSqlTypeCodes
in 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:Type
How many columns are used to persist this type?Always the same as
getSqlTypCodes(mappingContext).length
.- Specified by:
getColumnSpan
in 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:OutputableType
Can the given instance of this type actually perform the parameter value extractions?- Specified by:
canDoExtraction
in interfaceOutputableType<T>
- Returns:
true
indicates 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:SqmExpressible
The Java type descriptor for this expressible- Specified by:
getExpressibleJavaType
in interfaceBasicType<T>
- Specified by:
getExpressibleJavaType
in interfaceJavaTypedExpressible<T>
- Specified by:
getExpressibleJavaType
in interfaceSqmExpressible<T>
- Specified by:
getExpressibleJavaType
in interfaceValueMapping
-
getJavaTypeDescriptor
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMapping
The descriptor for the Java type represented by this expressible type- Specified by:
getJavaTypeDescriptor
in interfaceBasicType<T>
- Specified by:
getJavaTypeDescriptor
in interfaceJdbcMapping
-
getMappedJavaType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:MappingType
The descriptor descriptor for the mapped Java type- Specified by:
getMappedJavaType
in interfaceBasicType<T>
- Specified by:
getMappedJavaType
in interfaceJdbcMapping
- Specified by:
getMappedJavaType
in interfaceMappingType
-
getJdbcType
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:OutputableType
Descriptor for the SQL type mapped by this type.- Specified by:
getJdbcType
in interfaceJdbcMapping
- Specified by:
getJdbcType
in interfaceOutputableType<T>
-
getJdbcValueExtractor
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMapping
The strategy for extracting values of this expressible type from JDBC ResultSets, CallableStatements, etc- Specified by:
getJdbcValueExtractor
in interfaceBasicType<T>
- Specified by:
getJdbcValueExtractor
in interfaceJdbcMapping
-
getJdbcValueBinder
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMapping
The strategy for binding values of this expressible type to JDBCPreparedStatement
s andCallableStatement
s.- Specified by:
getJdbcValueBinder
in interfaceBasicType<T>
- Specified by:
getJdbcValueBinder
in interfaceJdbcMapping
-
getJdbcLiteralFormatter
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:JdbcMapping
The strategy for formatting values of this expressible type to a SQL literal.- Specified by:
getJdbcLiteralFormatter
in interfaceBasicType<T>
- Specified by:
getJdbcLiteralFormatter
in interfaceJdbcMapping
-
getRegistrationKeys
Deprecated, for removal: This API element is subject to removal in a future version.Description copied from interface:BasicType
Get the names under which this type should be registered in the type registry.- Specified by:
getRegistrationKeys
in interfaceBasicType<T>
- Returns:
- The keys under which to register this type.
-
DiscriminatorMetadata
andMetaType
have been consolidated intoEntityDiscriminatorMapping
andDiscriminatorConverter