Module org.eclipse.persistence.core
Class ObjectRelationalDatabaseField
java.lang.Object
org.eclipse.persistence.internal.helper.DatabaseField
org.eclipse.persistence.mappings.structures.ObjectRelationalDatabaseField
- All Implemented Interfaces:
Serializable
,Cloneable
,CoreField
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 Summary
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
ConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionvoid
convertClassNamesToClasses
(ClassLoader classLoader) 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
(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
-
Field Details
-
sqlTypeName
-
nestedTypeField
-
-
Constructor Details
-
ObjectRelationalDatabaseField
-
ObjectRelationalDatabaseField
-
-
Method Details
-
convertClassNamesToClasses
- Overrides:
convertClassNamesToClasses
in classDatabaseField
-
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 classDatabaseField
-
setSqlTypeName
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
ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY. -
setNestedTypeField
ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.
-