Class ObjectRelationalDatabaseField

java.lang.Object
org.eclipse.persistence.internal.helper.DatabaseField
org.eclipse.persistence.mappings.structures.ObjectRelationalDatabaseField
All Implemented Interfaces:
Serializable, Cloneable, org.eclipse.persistence.internal.core.helper.CoreField

public class ObjectRelationalDatabaseField extends org.eclipse.persistence.internal.helper.DatabaseField
INTERNAL: A database field of object-relational type: either a java.sql.Array, java.sql.Struct, or java.sql.Ref. Oracle drivers require the user defined field type name for these fields, along with the generic sqlType: ARRAY, STRUCT, or REF. Toplink can only recognize primitive field types like Integer or String, but here custom java objects are being written to a single field. Thus instead of DatabaseField#type the driver needs a string representing the user defined type of the structure on the database, and the type of field: either ARRAY, STRUCT, or REF. Added for bug 2730536.
See Also:
Author:
Stephen McRitchie
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.eclipse.persistence.internal.helper.DatabaseField
     
    protected String
     

    Fields inherited from class org.eclipse.persistence.internal.helper.DatabaseField

    columnDefinition, index, isCreatable, isInsertable, isNullable, isPrimaryKey, isTranslated, isUnique, isUpdatable, keepInRow, length, name, nameForComparisons, NULL_SQL_TYPE, precision, qualifiedName, scale, sqlType, table, type, typeName, useDelimiters, useUpperCaseForComparisons
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    ObjectRelationalDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField field)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    org.eclipse.persistence.internal.helper.DatabaseField
    ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.
    ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field.
    boolean
    PUBLIC: Return if this is an ObjectRelationalDatabaseField.
    void
    setNestedTypeField(org.eclipse.persistence.internal.helper.DatabaseField nestedTypeField)
    ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.
    void
    setSqlTypeName(String sqlTypeName)
    ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field.

    Methods inherited from class org.eclipse.persistence.internal.helper.DatabaseField

    clone, equals, equals, getColumnDefinition, getIndex, getLength, getName, getNameDelimited, getNameForComparisons, getPrecision, getQualifiedName, getQualifiedNameDelimited, getScale, getSqlType, getTable, getTableName, getType, getTypeName, getUseUpperCaseForComparisons, hashCode, hasTableName, initDDLFields, isCreatable, isInsertable, isNullable, isPrimaryKey, isReadOnly, isTranslated, isUnique, isUpdatable, keepInRow, resetQualifiedName, setColumnDefinition, setCreatable, setIndex, setInsertable, setIsTranslated, setKeepInRow, setLength, setName, setName, setName, setNameForComparisons, setNullable, setPrecision, setPrimaryKey, setScale, setSqlType, setTable, setTableName, setType, setTypeName, setUnique, setUpdatable, setUseDelimiters, shouldUseDelimiters, toString, useUpperCaseForComparisons

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • sqlTypeName

      protected String sqlTypeName
    • nestedTypeField

      protected org.eclipse.persistence.internal.helper.DatabaseField nestedTypeField
  • Constructor Details

    • ObjectRelationalDatabaseField

      public ObjectRelationalDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField field)
    • ObjectRelationalDatabaseField

      public ObjectRelationalDatabaseField(String name)
  • Method Details

    • convertClassNamesToClasses

      public void convertClassNamesToClasses(ClassLoader classLoader)
      Overrides:
      convertClassNamesToClasses in class org.eclipse.persistence.internal.helper.DatabaseField
    • getSqlTypeName

      public String getSqlTypeName()
      ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field. For REF fields, this is the user defined type of entity is points to.
    • isObjectRelationalDatabaseField

      public boolean isObjectRelationalDatabaseField()
      PUBLIC: Return if this is an ObjectRelationalDatabaseField.
      Overrides:
      isObjectRelationalDatabaseField in class org.eclipse.persistence.internal.helper.DatabaseField
    • setSqlTypeName

      public void setSqlTypeName(String sqlTypeName)
      ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field. For REF fields, this is the user defined type of entity is points to.
    • getNestedTypeField

      public org.eclipse.persistence.internal.helper.DatabaseField getNestedTypeField()
      ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.
    • setNestedTypeField

      public void setNestedTypeField(org.eclipse.persistence.internal.helper.DatabaseField nestedTypeField)
      ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.