Top Description Fields Constructors Methods
org.eclipse.persistence.mappings.structures

public Class ObjectRelationalDatabaseField

extends DatabaseField
Class Inheritance
Imports
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.
Author
Stephen McRitchie
Since
OracleAS TopLink 10g (9.0.4)

Field Summary

Modifier and TypeField and Description
protected DatabaseField
protected String
Inherited from org.eclipse.persistence.internal.helper.DatabaseField:
columnDefinitionindexisCreatableisInsertableisNullableisPrimaryKeyisTranslatedisUniqueisUpdatablekeepInRowlengthnamenameForComparisonsNULL_SQL_TYPEprecisionqualifiedNamescalesqlTypetabletypetypeNameuseDelimitersuseUpperCaseForComparisons

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public void
public DatabaseField
getNestedTypeField()

ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.

public String
getSqlTypeName()

ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field.

public boolean
public void
setNestedTypeField(DatabaseField nestedTypeField)

ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.

public void
setSqlTypeName(String sqlTypeName)

ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field.

Inherited from org.eclipse.persistence.internal.helper.DatabaseField:
cloneequalsequalsgetColumnDefinitiongetIndexgetLengthgetNamegetNameDelimitedgetNameForComparisonsgetPrecisiongetQualifiedNamegetQualifiedNameDelimitedgetScalegetSqlTypegetTablegetTableNamegetTypegetTypeNamegetUseUpperCaseForComparisonshashCodehasTableNameinitDDLFieldsisCreatableisInsertableisNullableisPrimaryKeyisReadOnlyisTranslatedisUniqueisUpdatablekeepInRowresetQualifiedNamesetColumnDefinitionsetCreatablesetIndexsetInsertablesetIsTranslatedsetKeepInRowsetLengthsetNamesetNamesetNamesetNameForComparisonssetNullablesetPrecisionsetPrimaryKeysetScalesetSqlTypesetTablesetTableNamesetTypesetTypeNamesetUniquesetUpdatablesetUseDelimitersshouldUseDelimiterstoStringuseUpperCaseForComparisons

Field Detail

nestedTypeFieldback to summary
protected DatabaseField nestedTypeField
sqlTypeNameback to summary
protected String sqlTypeName

Constructor Detail

ObjectRelationalDatabaseFieldback to summary
public ObjectRelationalDatabaseField(DatabaseField field)
ObjectRelationalDatabaseFieldback to summary
public ObjectRelationalDatabaseField(String name)

Method Detail

convertClassNamesToClassesback to summary
public void convertClassNamesToClasses(ClassLoader classLoader)

Overrides org.eclipse.persistence.internal.helper.DatabaseField.convertClassNamesToClasses.

Annotations
@Override
getNestedTypeFieldback to summary
public DatabaseField getNestedTypeField()

ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.

getSqlTypeNameback to summary
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.

isObjectRelationalDatabaseFieldback to summary
public boolean isObjectRelationalDatabaseField()

Overrides org.eclipse.persistence.internal.helper.DatabaseField.isObjectRelationalDatabaseField.

PUBLIC: Return if this is an ObjectRelationalDatabaseField.

Annotations
@Override
setNestedTypeFieldback to summary
public void setNestedTypeField(DatabaseField nestedTypeField)

ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.

setSqlTypeNameback to summary
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.