Class UUIDJavaType

java.lang.Object
org.hibernate.type.descriptor.java.AbstractClassJavaType<UUID>
org.hibernate.type.descriptor.java.UUIDJavaType
All Implemented Interfaces:
Serializable, BasicJavaType<UUID>, JavaType<UUID>

public class UUIDJavaType extends AbstractClassJavaType<UUID>
Descriptor for UUID handling.
See Also:
  • Field Details

  • Constructor Details

    • UUIDJavaType

      public UUIDJavaType()
  • Method Details

    • isInstance

      public boolean isInstance(Object value)
      Description copied from interface: JavaType
      Is the given value an instance of the described type?

      Usually just getJavaTypeClass().isInstance(value), but some descriptors need specialized semantics, for example, the descriptors for java.sql.Date, java.sql.Time, and java.sql.Timestamp.

      For EntityJavaType, this method handles proxies in a semantically correct way, by checking the entity instance underlying the proxy object.

    • cast

      public UUID cast(Object value)
      Description copied from interface: JavaType
      Apply a simple type cast to the given value, without attempting any sort of coercion or wrapping. This method is provided as a convenient way to avoid an unchecked cast to a type variable. Use javaType.cast(value) instead of (T) value wherever possible.

      Usually just getJavaTypeClass().cast(value), but overridden in some cases as an "optimization". This optimization is almost certainly unnecessary, and might even indeed be harmful, since Class.cast() is an intrinsic.

    • getRecommendedJdbcType

      public JdbcType getRecommendedJdbcType(JdbcTypeIndicators context)
      Description copied from interface: BasicJavaType
      Obtain the "recommended" SQL type descriptor for this Java type. Often, but not always, the source of this recommendation is the JDBC specification.
      Parameters:
      context - Contextual information
      Returns:
      The recommended SQL type descriptor
    • useObjectEqualsHashCode

      public boolean useObjectEqualsHashCode()
      Description copied from interface: JavaType
      Whether to use Object.equals(Object) and Object.hashCode() or JavaType.areEqual(Object, Object) and JavaType.extractHashCode(Object) for objects of this java type. This is useful to avoid mega-morphic callsites.
    • toString

      public String toString(UUID value)
    • fromString

      public UUID fromString(CharSequence string)
    • 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
    • unwrap

      public <X> X unwrap(UUID 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> UUID 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.