Class ObjectArrayMapping

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, ContainerMapping, ArrayCollectionMapping

    public class ObjectArrayMapping
    extends AbstractCompositeCollectionMapping

    Purpose: In an object-relational data model, structures can contain "Arrays" or collections of other data-types. In Oracle 8i, a Varray is typically used to represent a collection of primitive data or aggregate structures. These arrays are stored with their parent structure in the same table.

    ArrayMapping is used to map a collection of primitive data

    ObjectArrayMapping is used to map a collection of Oracle data-type

    NOTE: Only Oracle8i supports Varray type.

    See Also:
    ArrayMapping, Serialized Form
    Author:
    King (Yaoping) Wang
    Since:
    TOPLink/Java 3.0
    • Field Detail

      • structureName

        protected java.lang.String structureName
        Arrays require a structure name, this is the ADT defined for the VARRAY.
    • Constructor Detail

      • ObjectArrayMapping

        public ObjectArrayMapping()
    • Method Detail

      • getStructureName

        public java.lang.String getStructureName()
        PUBLIC: Return the name of the structure. This is the name of the user defined data type as defined on the database.
        Overrides:
        getStructureName in class AbstractCompositeCollectionMapping
      • setFieldName

        public void setFieldName​(java.lang.String fieldName)
      • setStructureName

        public void setStructureName​(java.lang.String structureName)
        PUBLIC: Set the name of the structure. This is the name of the user defined data type as defined on the database.
      • buildCompositeObject

        protected java.lang.Object buildCompositeObject​(ClassDescriptor descriptor,
                                                        org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow,
                                                        ObjectBuildingQuery query,
                                                        org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
                                                        org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
                                                        org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
        Specified by:
        buildCompositeObject in class AbstractCompositeCollectionMapping
      • buildCompositeRow

        protected org.eclipse.persistence.internal.sessions.AbstractRecord buildCompositeRow​(java.lang.Object attributeValue,
                                                                                             org.eclipse.persistence.internal.sessions.AbstractSession session,
                                                                                             org.eclipse.persistence.internal.sessions.AbstractRecord parentRow,
                                                                                             DatabaseMapping.WriteType writeType)
        Specified by:
        buildCompositeRow in class AbstractCompositeCollectionMapping