Class MetaType

All Implemented Interfaces:
Serializable, Type

@Deprecated(since="6.2", forRemoval=true) public class MetaType extends AbstractType
Deprecated, for removal: This API element is subject to removal in a future version.
The functionality of MetaType, DiscriminatorType and DiscriminatorMetadata have been consolidated into EntityDiscriminatorMapping and DiscriminatorConverter
See Also:
  • Field Details

    • REGISTRATION_KEYS

      public static final String[] REGISTRATION_KEYS
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Constructor Details

    • MetaType

      public MetaType(Map<Object,String> discriminatorValuesToEntityNameMap, Type baseType)
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • getBaseType

      public Type getBaseType()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getRegistrationKeys

      public String[] getRegistrationKeys()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getDiscriminatorValuesToEntityNameMap

      public Map<Object,String> getDiscriminatorValuesToEntityNameMap()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getEntityNameToDiscriminatorValueMap

      public Map<String,Object> getEntityNameToDiscriminatorValueMap()
      Deprecated, for removal: This API element is subject to removal in a future version.
    • getSqlTypeCodes

      public int[] getSqlTypeCodes(Mapping mapping) throws MappingException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Return the JDBC types codes as defined by Types or SqlTypes for the columns mapped by this type.

      The number of elements in this array must match the return from Type.getColumnSpan(org.hibernate.engine.spi.Mapping).

      Parameters:
      mapping - The mapping object :/
      Returns:
      The JDBC type codes.
      Throws:
      MappingException - Generally indicates an issue accessing the passed mapping object.
    • getColumnSpan

      public int getColumnSpan(Mapping mapping) throws MappingException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      How many columns are used to persist this type?

      Always the same as getSqlTypCodes(mapping).length.

      Parameters:
      mapping - The mapping object :/
      Returns:
      The number of columns
      Throws:
      MappingException - Generally indicates an issue accessing the passed mapping object.
    • getReturnedClass

      public Class<?> getReturnedClass()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      The class handled by this type.
      Returns:
      The Java class handled by this type.
    • compare

      public int compare(Object x, Object y, SessionFactoryImplementor sessionFactory)
      Deprecated, for removal: This API element is subject to removal in a future version.
    • nullSafeSet

      public void nullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor session) throws HibernateException, SQLException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Bind a value represented by an instance of the mapped class to the given JDBC PreparedStatement, ignoring some columns as dictated by the settable parameter. Implementors should handle the possibility of null values. A multi-column type should bind parameters starting from index.
      Parameters:
      st - The JDBC prepared statement to which to bind
      value - the object to write
      index - starting parameter bind index
      session - The originating session
      Throws:
      HibernateException - An error from Hibernate
      SQLException - An error from the JDBC driver
    • nullSafeSet

      public void nullSafeSet(PreparedStatement st, Object value, int index, boolean[] settable, SharedSessionContractImplementor session) throws HibernateException, SQLException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Bind a value represented by an instance of the mapped class to the given JDBC PreparedStatement, ignoring some columns as dictated by the settable parameter. Implementors should handle the possibility of null values. A multi-column type should bind parameters starting from index.
      Parameters:
      st - The JDBC prepared statement to which to bind
      value - the object to write
      index - starting parameter bind index
      settable - an array indicating which columns to bind/ignore
      session - The originating session
      Throws:
      HibernateException - An error from Hibernate
      SQLException - An error from the JDBC driver
    • toLoggableString

      public String toLoggableString(Object value, SessionFactoryImplementor factory) throws HibernateException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Generate a representation of the given value for logging purposes.
      Parameters:
      value - The value to be logged
      factory - The session factory
      Returns:
      The loggable representation
      Throws:
      HibernateException - An error from Hibernate
    • toXMLString

      public String toXMLString(Object value, SessionFactoryImplementor factory) throws HibernateException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
      HibernateException
    • fromXMLString

      public Object fromXMLString(String xml, Mapping factory) throws HibernateException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Throws:
      HibernateException
    • getName

      public String getName()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Returns the abbreviated name of the type.
      Returns:
      the Hibernate type name
    • deepCopy

      public Object deepCopy(Object value, SessionFactoryImplementor factory) throws HibernateException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Return a deep copy of the persistent state, stopping at entities and at collections.
      Parameters:
      value - The value to be copied
      factory - The session factory
      Returns:
      The deep copy
      Throws:
      HibernateException - An error from Hibernate
    • replace

      public Object replace(Object original, Object target, SharedSessionContractImplementor session, Object owner, Map<Object,Object> copyCache)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      During merge, replace the existing (target) value in the entity we are merging to with a new (original) value from the detached entity we are merging. For immutable objects, or null values, it is safe to simply return the first parameter. For mutable objects, it is safe to return a copy of the first parameter. For objects with component values, it might make sense to recursively replace component values.
      Parameters:
      original - the value from the detached entity being merged
      target - the value in the managed entity
      session - The originating session
      owner - The owner of the value
      copyCache - The cache of already copied/replaced values
      Returns:
      the value to be merged
    • isMutable

      public boolean isMutable()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Are objects of this type mutable with respect to the referencing object? Entities and collections are considered immutable because they manage their own internal state.
      Returns:
      boolean
    • toColumnNullness

      public boolean[] toColumnNullness(Object value, Mapping mapping)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Given an instance of the type, return an array of boolean values indicating which mapped columns would be null.
      Parameters:
      value - an instance of the type
      mapping - The mapping abstraction
      Returns:
      array indicating column nullness for a value instance
    • isDirty

      public boolean isDirty(Object old, Object current, boolean[] checkable, SharedSessionContractImplementor session) throws HibernateException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: Type
      Should the parent be considered dirty, given both the old and current value?
      Parameters:
      old - the old value
      current - the current value
      checkable - An array of booleans indicating which columns making up the value are actually checkable
      session - The session from which the request originated.
      Returns:
      true if the field is dirty
      Throws:
      HibernateException - A problem occurred performing the checking