Class ObjectRelationalDatabaseField
- java.lang.Object
-
- org.eclipse.persistence.internal.helper.DatabaseField
-
- org.eclipse.persistence.mappings.structures.ObjectRelationalDatabaseField
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,org.eclipse.persistence.internal.core.helper.CoreField
public class ObjectRelationalDatabaseField extends org.eclipse.persistence.internal.helper.DatabaseFieldINTERNAL: 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:
- Serialized Form
- Author:
- Stephen McRitchie
- Since:
- OracleAS TopLink 10g (9.0.4)
-
-
Field Summary
Fields Modifier and Type Field Description protected org.eclipse.persistence.internal.helper.DatabaseFieldnestedTypeFieldprotected java.lang.StringsqlTypeName-
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(java.lang.String name)ObjectRelationalDatabaseField(org.eclipse.persistence.internal.helper.DatabaseField field)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconvertClassNamesToClasses(java.lang.ClassLoader classLoader)org.eclipse.persistence.internal.helper.DatabaseFieldgetNestedTypeField()ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.java.lang.StringgetSqlTypeName()ADVANCED: For ARRAY and STRUCT fields, this is the user defined type for the field.booleanisObjectRelationalDatabaseField()PUBLIC: Return if this is an ObjectRelationalDatabaseField.voidsetNestedTypeField(org.eclipse.persistence.internal.helper.DatabaseField nestedTypeField)ADVANCED: For ARRAY fields, this field's type represents the type contained in the ARRAY.voidsetSqlTypeName(java.lang.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
-
-
-
-
Method Detail
-
convertClassNamesToClasses
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
- Overrides:
convertClassNamesToClassesin classorg.eclipse.persistence.internal.helper.DatabaseField
-
getSqlTypeName
public java.lang.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:
isObjectRelationalDatabaseFieldin classorg.eclipse.persistence.internal.helper.DatabaseField
-
setSqlTypeName
public void setSqlTypeName(java.lang.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.
-
-