* Process the ArrayMapping or ObjectArrayMapping.
*/
@Override
public void process() {
if (isDirectEmbeddableCollection()) {
ObjectArrayMapping mapping = new ObjectArrayMapping();
// Add the mapping to the descriptor.
setMapping(mapping);
// Set the reference class name.
mapping.setReferenceClassName(getReferenceClassName());
// Set the attribute name.
mapping.setAttributeName(getAttributeName());
// Will check for PROPERTY access
setAccessorMethods(mapping);
mapping.setStructureName(getDatabaseType());
// Process the @Column or column element if there is one.
// A number of methods depend on this field so it must be
// initialized before any further processing can take place.
mapping.setField(new ObjectRelationalDatabaseField(getDatabaseField(getDescriptor().getPrimaryTable(), MetadataLogger.COLUMN)));
} else {
ArrayMapping mapping = new ArrayMapping();
// Add the mapping to the descriptor.
setMapping(mapping);
// Set the attribute name.
mapping.setAttributeName(getAttributeName());
// Will check for PROPERTY access
setAccessorMethods(mapping);
mapping.setStructureName(getDatabaseType());
// Process the @Column or column element if there is one.
// A number of methods depend on this field so it must be
// initialized before any further processing can take place.
mapping.setField(new ObjectRelationalDatabaseField(getDatabaseField(getDescriptor().getPrimaryTable(), MetadataLogger.COLUMN)));
}
}