Class ObjectRelationalDatabaseField

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

public class ObjectRelationalDatabaseField extends 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.
Since:
OracleAS TopLink 10g (9.0.4)
See Also:
  • Field Details

    • sqlTypeName

      protected String sqlTypeName
    • nestedTypeField

      protected DatabaseField nestedTypeField
  • Constructor Details

    • ObjectRelationalDatabaseField

      public ObjectRelationalDatabaseField(DatabaseField field)
    • ObjectRelationalDatabaseField

      public ObjectRelationalDatabaseField(String name)
  • Method Details

    • convertClassNamesToClasses

      public void convertClassNamesToClasses(ClassLoader classLoader)
      Overrides:
      convertClassNamesToClasses in class 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 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 DatabaseField getNestedTypeField()
      ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.
    • setNestedTypeField

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