Package org.hibernate.type
Class SerializableType<T extends Serializable>
java.lang.Object
org.hibernate.type.AbstractStandardBasicType<T>
org.hibernate.type.AbstractSingleColumnStandardBasicType<T>
org.hibernate.type.SerializableType<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
,ProcedureParameterExtractionAware<T>
,ProcedureParameterNamedBinder<T>
,Type
public class SerializableType<T extends Serializable>
extends AbstractSingleColumnStandardBasicType<T>
A type that maps between a
VARBINARY
and Serializable
classes.
Notice specifically the 3 constructors:
INSTANCE
indicates a mapping using theSerializable
interface itself.SerializableType(Class)
indicates a mapping using the specific classSerializableType(JavaType)
indicates a mapping using the specific JavaType
The important distinction has to do with locating the appropriate ClassLoader
to use during deserialization.
In the fist form we are always using the ClassLoader
of the JVM (Hibernate will always fallback to trying
its classloader as well). The second and third forms are better at targeting the needed ClassLoader
actually needed.
- 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
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSerializableType
(Class<T> serializableClass) SerializableType
(JavaType<T> jtd) -
Method Summary
Methods inherited from class org.hibernate.type.AbstractSingleColumnStandardBasicType
nullSafeSet
Methods inherited from class org.hibernate.type.AbstractStandardBasicType
assemble, beforeAssemble, canDoExtraction, canDoSetting, compare, deepCopy, deepCopy, disassemble, extract, extract, fromString, getCastType, getColumnSpan, getHashCode, getHashCode, getJavaType, getJavaTypeDescriptor, getJdbcLiteralFormatter, getJdbcType, getJdbcValueBinder, getJdbcValueExtractor, getMutabilityPlan, getRegistrationKeys, getReturnedClass, getSqlTypeCodes, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeSet, nullSafeSet, nullSafeSet, nullSafeSet, registerUnderJavaType, replace, replace, toColumnNullness, toLoggableString
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, disassemble, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcType, getCheckCondition, getExpressibleJavaType, getJdbcMapping, getJdbcMapping, getJdbcTypeCount, getMappedJavaType, getMappedType, getSingleJdbcMapping, getValueConverter
Methods inherited from interface org.hibernate.metamodel.mapping.BasicValuedMapping
addToCacheKey
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, getJdbcJavaType
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, deepCopy, disassemble, disassemble, getColumnSpan, getHashCode, getHashCode, getReturnedClass, getReturnedClassName, getSqlTypeCodes, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeSet, replace, replace, toColumnNullness, toLoggableString
Methods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
treatAs
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
SerializableType
-
SerializableType
-
-
Method Details
-
getName
Description copied from interface:Type
Returns the abbreviated name of the type.- Returns:
- the Hibernate type name
-