Class EntityJavaType<T>

java.lang.Object
org.hibernate.type.descriptor.java.AbstractClassJavaType<T>
org.hibernate.type.descriptor.java.spi.EntityJavaType<T>
All Implemented Interfaces:
Serializable, BasicJavaType<T>, JavaType<T>

public class EntityJavaType<T> extends AbstractClassJavaType<T>
Uses object identity for equals/hashCode as we ensure that internally.
See Also:
  • Constructor Details

  • Method Details

    • 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
    • extractHashCode

      public int extractHashCode(T value)
      Description copied from interface: JavaType
      Extract a proper hash code for the given value.
      Specified by:
      extractHashCode in interface JavaType<T>
      Overrides:
      extractHashCode in class AbstractClassJavaType<T>
      Parameters:
      value - The value for which to extract a hash code.
      Returns:
      The extracted hash code.
    • areEqual

      public boolean areEqual(T one, T another)
      Description copied from interface: JavaType
      Determine if two instances are equal
      Specified by:
      areEqual in interface JavaType<T>
      Overrides:
      areEqual in class AbstractClassJavaType<T>
      Parameters:
      one - One instance
      another - The other instance
      Returns:
      True if the two are considered equal; false otherwise.
    • 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.

    • unwrap

      public <X> X unwrap(T 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> T 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object