Class BlobJavaType
- java.lang.Object
-
- org.hibernate.type.descriptor.java.AbstractClassJavaType<Blob>
-
- org.hibernate.type.descriptor.java.BlobJavaType
-
- All Implemented Interfaces:
Serializable,BasicJavaType<Blob>,JavaType<Blob>
public class BlobJavaType extends AbstractClassJavaType<Blob>
Descriptor forBlobhandling.Note,
Blobs really are mutable (their internal state can in fact be mutated). We simply treat them as immutable because we cannot properly check them for changes nor deep copy them.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBlobJavaType.BlobMutabilityPlan-
Nested classes/interfaces inherited from interface org.hibernate.type.descriptor.java.JavaType
JavaType.CoercionContext
-
-
Field Summary
Fields Modifier and Type Field Description static BlobJavaTypeINSTANCE
-
Constructor Summary
Constructors Constructor Description BlobJavaType()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanareEqual(Blob one, Blob another)Determine if two instances are equalintextractHashCode(Blob value)Extract a proper hash code for the given value.StringextractLoggableRepresentation(Blob value)Extract a loggable representation of the given value.BlobfromString(CharSequence string)longgetDefaultSqlLength(Dialect dialect, JdbcType jdbcType)The default column length when this Java type is mapped to a SQL data type which is parametrized by length, for exampleTypes.VARCHAR.BlobgetReplacement(Blob original, Blob target, SharedSessionContractImplementor session)StringtoString(Blob value)<X> Xunwrap(Blob value, Class<X> type, WrapperOptions options)Unwrap an instance of our handled Java type into the requested type.<X> Blobwrap(X value, WrapperOptions options)Wrap a value as our handled Java type.-
Methods inherited from class org.hibernate.type.descriptor.java.AbstractClassJavaType
getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrap
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.type.descriptor.java.BasicJavaType
getRecommendedJdbcType
-
Methods inherited from interface org.hibernate.type.descriptor.java.JavaType
appendEncodedString, coerce, createJavaType, createJavaType, fromEncodedString, getDefaultSqlPrecision, getDefaultSqlScale, getDefaultValue, getLongSqlLength, isInstance, isTemporalType, isWider
-
-
-
-
Field Detail
-
INSTANCE
public static final BlobJavaType INSTANCE
-
-
Method Detail
-
extractLoggableRepresentation
public String extractLoggableRepresentation(Blob value)
Description copied from interface:JavaTypeExtract a loggable representation of the given value.- Specified by:
extractLoggableRepresentationin interfaceJavaType<Blob>- Overrides:
extractLoggableRepresentationin classAbstractClassJavaType<Blob>- Parameters:
value- The value for which to extract a loggable representation.- Returns:
- The loggable representation
-
fromString
public Blob fromString(CharSequence string)
-
extractHashCode
public int extractHashCode(Blob value)
Description copied from interface:JavaTypeExtract a proper hash code for the given value.- Specified by:
extractHashCodein interfaceJavaType<Blob>- Overrides:
extractHashCodein classAbstractClassJavaType<Blob>- Parameters:
value- The value for which to extract a hash code.- Returns:
- The extracted hash code.
-
areEqual
public boolean areEqual(Blob one, Blob another)
Description copied from interface:JavaTypeDetermine if two instances are equal
-
getReplacement
public Blob getReplacement(Blob original, Blob target, SharedSessionContractImplementor session)
-
unwrap
public <X> X unwrap(Blob value, Class<X> type, WrapperOptions options)
Description copied from interface:JavaTypeUnwrap an instance of our handled Java type into the requested type.As an example, if this is a
JavaType<Integer>and we are asked to unwrap theInteger valueas aLong, we would return something likeLong.valueOf( value.longValue() ).Intended use is during
PreparedStatementbinding.- Type Parameters:
X- The conversion type.- Parameters:
value- The value to unwraptype- The type as which to unwrapoptions- The options- Returns:
- The unwrapped value.
-
wrap
public <X> Blob wrap(X value, WrapperOptions options)
Description copied from interface:JavaTypeWrap a value as our handled Java type.Intended use is during
ResultSetextraction.- Type Parameters:
X- The conversion type.- Parameters:
value- The value to wrap.options- The options- Returns:
- The wrapped value.
-
getDefaultSqlLength
public long getDefaultSqlLength(Dialect dialect, JdbcType jdbcType)
Description copied from interface:JavaTypeThe default column length when this Java type is mapped to a SQL data type which is parametrized by length, for exampleTypes.VARCHAR.- Returns:
Size.DEFAULT_LENGTHunless overridden
-
-