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 for Blob handling.

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:
  • Field Details

  • Constructor Details

    • BlobJavaType

      public BlobJavaType()
  • Method Details

    • extractLoggableRepresentation

      public String extractLoggableRepresentation(Blob value)
      Description copied from interface: JavaType
      Extract a loggable representation of the given value.
      Specified by:
      extractLoggableRepresentation in interface JavaType<Blob>
      Overrides:
      extractLoggableRepresentation in class AbstractClassJavaType<Blob>
      Parameters:
      value - The value for which to extract a loggable representation.
      Returns:
      The loggable representation
    • toString

      public String toString(Blob value)
    • fromString

      public Blob fromString(CharSequence string)
    • extractHashCode

      public int extractHashCode(Blob value)
      Description copied from interface: JavaType
      Extract a proper hash code for the given value.
      Specified by:
      extractHashCode in interface JavaType<Blob>
      Overrides:
      extractHashCode in class AbstractClassJavaType<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: JavaType
      Determine if two instances are equal
      Specified by:
      areEqual in interface JavaType<Blob>
      Overrides:
      areEqual in class AbstractClassJavaType<Blob>
      Parameters:
      one - One instance
      another - The other instance
      Returns:
      True if the two are considered equal; false otherwise.
    • 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: JavaType
      Unwrap 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 the Integer value as a Long, we would return something like Long.valueOf( value.longValue() ).

      Intended use is during PreparedStatement binding.

      Type Parameters:
      X - The conversion type.
      Parameters:
      value - The value to unwrap
      type - The type as which to unwrap
      options - The options
      Returns:
      The unwrapped value.
    • wrap

      public <X> Blob wrap(X value, WrapperOptions options)
      Description copied from interface: JavaType
      Wrap a value as our handled Java type.

      Intended use is during ResultSet extraction.

      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: JavaType
      The default column length when this Java type is mapped to a SQL data type which is parametrized by length, for example Types.VARCHAR.
      Returns:
      Size.DEFAULT_LENGTH unless overridden