public class AggregateCollectionMapping extends CollectionMapping implements RelationalMapping, MapComponentMapping, EmbeddableMapping
Purpose: The aggregate collection mapping is used to represent the aggregate relationship between a single source object and a collection of target objects. The target objects cannot exist without the existence of the source object (privately owned) Unlike the normal aggregate mapping, there is a target table being mapped from the target objects. Unlike normal 1:m mapping, there is no 1:1 back reference mapping, as foreign key constraints have been resolved by the aggregation.
DatabaseMapping.WriteType| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> |
aggregateToSourceFields
Map the name of a field in the aggregate collection descriptor to a field in the actual table specified in the mapping.
|
protected static java.lang.String |
bulk |
protected DataModifyQuery |
bulkUpdateListOrderFieldQuery |
protected java.util.Map<java.lang.String,Converter> |
converters
List of converters to apply at initialize time to their cloned aggregate mappings.
|
protected org.eclipse.persistence.internal.helper.DatabaseTable |
defaultSourceTable
Default source table that should be used with the default source fields of this mapping.
|
protected java.lang.Boolean |
hasNestedIdentityReference
Indicates whether the mapping (or at least one of its nested mappings, at any nested depth)
references an entity.
|
protected boolean |
isEntireObjectPK
Indicates whether the entire target object is primary key - in that case the object can't be updated in the db,
but rather deleted and then re-inserted.
|
protected boolean |
isListOrderFieldUpdatable
indicates whether listOrderField value could be updated in the db.
|
protected static java.lang.String |
max |
protected static java.lang.String |
min |
protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField>> |
nestedAggregateToSourceFields
Map the name of an attribute of the reference descriptor mapped with AggregateCollectionMapping to aggregateToSourceFieldNames
that should be applied to this mapping.
|
protected static java.lang.String |
pk |
protected DataModifyQuery |
pkUpdateListOrderFieldQuery |
protected ClassDescriptor |
remoteReferenceDescriptor
In RemoteSession case the mapping needs the reference descriptor serialized from the server,
but referenceDescriptor attribute defined as transient in the superclass.
|
protected static java.lang.String |
shift |
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
sourceKeyFields
This is a primary key in the source table that is used as foreign key in the target table
|
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
targetForeignKeyFields
This is a key in the target table which is a foreign key in the target table.
|
protected java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> |
targetForeignKeyToSourceKeys
Foreign keys in the target table to the related keys in the source table
|
protected DataModifyQuery |
updateListOrderFieldQuery
These queries used to update listOrderField
|
changeOrderTargetQuery, containerPolicy, deleteAllQuery, hasCustomDeleteAllQuery, hasOrderBy, isListOrderFieldSupported, isSynchronizeOnMerge, listOrderField, mustDeleteReferenceObjectsOneByOne, orderCorrectionTypebatchFetchType, cascadeDetach, cascadeMerge, cascadePersist, cascadeRefresh, cascadeRemove, forceInitializationOfSelectionCriteria, hasCustomSelectionQuery, indirectionPolicy, INNER_JOIN, isCascadeOnDeleteSetOnDatabase, isPrivateOwned, joinFetch, mappedBy, NONE, OUTER_JOIN, partitioningPolicy, partitioningPolicyName, QUERY_BATCH_PARAMETER, referenceClass, referenceClassName, referenceDescriptor, relationshipPartner, relationshipPartnerAttributeName, requiresTransientWeavedFields, selectionQuery, tempInitSessionattributeAccessor, attributeName, derivedIdMapping, derivesId, descriptor, fields, isCacheable, isInSopObject, isJPAId, isLazy, isMapKeyMapping, isOptional, isPrimaryKeyMapping, isReadOnly, isRemotelyInitialized, mapsIdValue, NO_FIELDS, NO_WEIGHT, properties, unconvertedProperties, weight, WEIGHT_AGGREGATE, WEIGHT_DIRECT, WEIGHT_TO_ONE, WEIGHT_TRANSFORM| Constructor and Description |
|---|
AggregateCollectionMapping()
PUBLIC:
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addConverter(Converter converter,
java.lang.String attributeName)
Add a converter to be applied to a mapping of the aggregate descriptor.
|
void |
addFieldNameTranslation(java.lang.String sourceFieldName,
java.lang.String aggregateFieldName)
PUBLIC:
Maps a field name in the aggregate descriptor
to a field name in the source table.
|
void |
addFieldTranslation(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
java.lang.String aggregateField)
PUBLIC:
Maps a field name in the aggregate descriptor
to a field in the source table.
|
void |
addFieldTranslations(java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> map)
PUBLIC:
Maps a field name in the aggregate descriptor
to a field name in the source table.
|
void |
addNestedFieldNameTranslation(java.lang.String attributeName,
java.lang.String sourceFieldName,
java.lang.String aggregateFieldName)
PUBLIC:
Map the name of an attribute of the reference descriptor mapped with AggregateCollectionMapping to aggregateToSourceFieldNames
that should be applied to this mapping.
|
void |
addNestedFieldNameTranslations(java.lang.String attributeName,
java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> map)
PUBLIC:
Map the name of an attribute of the reference descriptor mapped with AggregateCollectionMapping to aggregateToSourceFields
that should be applied to this mapping.
|
void |
addNestedFieldTranslation(java.lang.String attributeName,
org.eclipse.persistence.internal.helper.DatabaseField sourceField,
java.lang.String aggregateFieldName)
PUBLIC:
Map the name of an attribute of the reference descriptor mapped with AggregateCollectionMapping to aggregateToSourceFieldNames
that should be applied to this mapping.
|
void |
addOverrideManyToManyMapping(ManyToManyMapping mapping)
INTERNAL:
In JPA users may specify overrides to apply to a many to many mapping
on a shared embeddable descriptor.
|
void |
addOverrideUnidirectionalOneToManyMapping(UnidirectionalOneToManyMapping mapping)
INTERNAL:
In JPA users may specify overrides to apply to a unidirectional one to
many mapping on a shared embeddable descriptor.
|
void |
addTargetForeignKeyField(org.eclipse.persistence.internal.helper.DatabaseField targetForeignKey,
org.eclipse.persistence.internal.helper.DatabaseField sourceKey)
PUBLIC:
Define the target foreign key relationship in the 1-M aggregate collection mapping.
|
void |
addTargetForeignKeyFieldName(java.lang.String targetForeignKey,
java.lang.String sourceKey)
PUBLIC:
Define the target foreign key relationship in the 1-M aggregate collection mapping.
|
java.lang.Object |
buildBackupCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
INTERNAL:
Used during building the backup shallow copy to copy the vector without re-registering the target objects.
|
protected Expression |
buildBatchCriteria(ExpressionBuilder builder,
ObjectLevelReadQuery query)
INTERNAL:
Return the selection criteria used to IN batch fetching.
|
java.lang.Object |
buildCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object original,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
java.lang.Object clone,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
java.lang.Integer refreshCascade,
boolean isExisting,
boolean isFromSharedCache)
INTERNAL:
Require for cloning, the part must be cloned.
|
protected java.lang.Object |
buildElementBackupClone(java.lang.Object element,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
INTERNAL:
Clone the aggregate collection, if necessary.
|
java.lang.Object |
buildElementClone(java.lang.Object element,
java.lang.Object parent,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
java.lang.Integer refreshCascade,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
boolean isExisting,
boolean isFromSharedCache)
INTERNAL:
Clone the aggregate collection, if necessary.
|
Expression |
buildExpression(java.lang.Object queryObject,
QueryByExamplePolicy policy,
Expression expressionBuilder,
java.util.Map processedObjects,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
In case Query By Example is used, this method builds and returns an expression that
corresponds to a single attribute and it's value.
|
void |
cascadeDiscoverAndPersistUnregisteredNewObjects(java.lang.Object object,
java.util.Map newObjects,
java.util.Map unregisteredExistingObjects,
java.util.Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Set cascadeErrors)
INTERNAL:
Cascade discover and persist new objects during commit.
|
void |
cascadePerformRemoveIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
void |
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade perform removal of orphaned private owned objects from the UnitOfWorkChangeSet
|
void |
cascadeRegisterNewIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
java.lang.Object |
clone()
INTERNAL:
The mapping clones itself to create deep copy.
|
void |
collectQueryParameters(java.util.Set<org.eclipse.persistence.internal.helper.DatabaseField> cacheFields)
INTERNAL:
This method is used to store the FK fields that can be cached that correspond to noncacheable mappings
the FK field values will be used to re-issue the query when cloning the shared cache entity
|
org.eclipse.persistence.internal.sessions.ChangeRecord |
compareForChange(java.lang.Object clone,
java.lang.Object backUp,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This method is used to create a change record from comparing two aggregate collections
|
boolean |
compareLists(java.util.List firstList,
java.util.List secondList,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the attributes belonging to this mapping for the objects.
|
protected void |
compareListsAndWrite_NonUpdatableListOrderField(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
INTERNAL:
Old and new lists are compared and only the changes are written to the database.
|
protected void |
compareListsAndWrite_UpdatableListOrderField(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
INTERNAL:
Old and new lists are compared and only the changes are written to the database.
|
protected void |
compareListsAndWrite(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
INTERNAL:
Old and new lists are compared and only the changes are written to the database.
|
protected boolean |
compareMapCollectionForChange(java.util.Map cloneObjectCollection,
java.util.Map backUpCollection,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Determine if an AggregateCollection that is contained as a map has changed by comparing the values in the
clone to the values in the backup.
|
boolean |
compareObjects(java.lang.Object firstObject,
java.lang.Object secondObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Compare the attributes belonging to this mapping for the objects.
|
void |
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL:
Convert all the class-name-based settings in this mapping to actual
class-based settings.
|
protected org.eclipse.persistence.internal.sessions.ChangeRecord |
convertToChangeRecord(java.lang.Object cloneCollection,
java.lang.Object backupCollection,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This method is used to convert the contents of an aggregateCollection into a
changeRecord
|
protected java.lang.Object |
copyElement(java.lang.Object original,
CopyGroup group)
INTERNAL:
Copies member's value
|
java.lang.Object |
createMapComponentFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord dbRow,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean isTargetProtected)
INTERNAL
Called when a DatabaseMapping is used to map the key in a collection.
|
protected void |
deleteAll(DeleteObjectQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
To delete all the entries matching the selection criteria from the table stored in the
referenced descriptor
|
protected void |
executeEvent(int eventCode,
ObjectLevelModifyQuery query)
INTERNAL:
Execute a descriptor event for the specified event code.
|
protected java.lang.Object |
extractBatchKeyFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the primary key value from the source row.
|
protected java.lang.Object |
extractKeyFromTargetRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the source primary key value from the target row.
|
org.eclipse.persistence.internal.sessions.AbstractRecord |
getAggregateRow(ObjectLevelModifyQuery query,
java.lang.Object object)
INTERNAL:
return the aggregate Record with the primary keys from the source table and target table
|
InsertObjectQuery |
getAndPrepareModifyQueryForInsert(ObjectLevelModifyQuery originalQuery,
java.lang.Object object)
INTERNAL:
setup the modifyQuery for post insert/update and pre delete
|
protected Expression |
getDeleteAllCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
Delete all criteria is created with target foreign keys and source keys.
|
protected ModifyQuery |
getDeleteAllQuery()
Overrides CollectionMappig because this mapping requires a DeleteAllQuery instead of a ModifyQuery.
|
protected InsertObjectQuery |
getInsertObjectQuery(org.eclipse.persistence.internal.sessions.AbstractSession session,
ClassDescriptor desc)
INTERNAL:
Returns a clone of InsertObjectQuery from the ClassDescriptor's DescriptorQueryManager or a new one
|
ClassDescriptor |
getReferenceDescriptor()
INTERNAL:
Return the referenceDescriptor.
|
ClassDescriptor |
getReferenceDescriptor(java.lang.Class theClass,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
for inheritance purpose
|
java.util.Vector |
getReferenceObjectKeys(ObjectLevelModifyQuery query)
INTERNAL:
get reference object keys
|
java.util.Vector |
getSourceKeyFieldNames()
PUBLIC:
Return the source key field names associated with the mapping.
|
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getSourceKeyFields()
INTERNAL:
Return the source key names associated with the mapping
|
java.util.Vector |
getTargetForeignKeyFieldNames()
PUBLIC:
Return the target foregin key field names associated with the mapping.
|
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getTargetForeignKeyFields()
INTERNAL:
Return the target foregin key fields associated with the mapping
|
java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> |
getTargetForeignKeyToSourceKeys()
INTERNAL:
|
boolean |
hasNestedIdentityReference()
INTERNAL:
Indicates whether the mapping (or at least one of its nested mappings, at any nested depth)
references an entity.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For aggregate collection mapping the reference descriptor is cloned.
|
void |
initializeChildInheritance(ClassDescriptor parentDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation)
INTERNAL:
For aggregate mapping the reference descriptor is cloned.
|
protected void |
initializeDeleteAllQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Initialize delete all query.
|
void |
initializeParentInheritance(ClassDescriptor parentDescriptor,
ClassDescriptor childDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation)
INTERNAL:
For aggregate mapping the reference descriptor is cloned.
|
protected void |
initializeReferenceDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)
Initialize and set the descriptor for the referenced class in this mapping.
|
protected void |
initializeSelectionCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Selection criteria is created with target foreign keys and source keys.
|
protected void |
initializeTargetForeignKeyToSourceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
The foreign keys and the primary key names are converted to DatabaseFields and stored.
|
protected void |
initializeTargetForeignKeyToSourceKeysWithDefaults(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
The foreign keys and the primary key names are converted to DatabaseFields and stored.
|
protected void |
initializeUpdateListOrderQuery(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.lang.String queryType) |
boolean |
isAggregateCollectionMapping()
INTERNAL:
|
boolean |
isCandidateForPrivateOwnedRemoval()
INTERNAL:
AggregateCollection contents should not be considered for addition to the UnitOfWork
private owned objects list for removal.
|
boolean |
isCascadedLockingSupported()
INTERNAL
Return true if this mapping supports cascaded version optimistic locking.
|
boolean |
isChangeTrackingSupported(Project project)
INTERNAL:
Return if this mapping supports change tracking.
|
boolean |
isElementCollectionMapping()
INTERNAL:
|
boolean |
isJoiningSupported()
INTERNAL:
Return if this mapping support joining.
|
boolean |
isListOrderFieldUpdatable()
PUBLIC:
indicates whether listOrderField value could be updated in the db.
|
boolean |
isOwned()
INTERNAL:
|
boolean |
isRelationalMapping()
INTERNAL:
|
protected boolean |
isSourceKeySpecified()
Checks if source key is specified or not.
|
void |
iterateOnElement(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
java.lang.Object element)
INTERNAL:
Iterate on the specified element.
|
void |
load(java.lang.Object object,
org.eclipse.persistence.internal.queries.AttributeItem item,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean fromFetchGroup)
Force instantiation of the load group.
|
void |
loadAll(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.IdentityHashSet loaded)
Force instantiation of all indirections.
|
void |
mergeChangesIntoObject(java.lang.Object target,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
java.lang.Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
Merge changes from the source to the target object.
|
void |
mergeIntoObject(java.lang.Object target,
boolean isTargetUnInitialized,
java.lang.Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
Merge changes from the source to the target object.
|
protected void |
objectAddedDuringUpdate(ObjectLevelModifyQuery query,
java.lang.Object objectAdded,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
java.util.Map extraData)
INTERNAL:
An object was added to the collection during an update, insert it if private.
|
protected int |
objectChangedListOrderDuringUpdate(WriteObjectQuery query,
int iMin,
int iMax,
int iShift) |
protected int |
objectChangedListOrderDuringUpdate(WriteObjectQuery query,
java.lang.Object key,
int newOrderValue) |
protected void |
objectRemovedDuringUpdate(ObjectLevelModifyQuery query,
java.lang.Object objectDeleted,
java.util.Map extraData)
INTERNAL:
An object was removed to the collection during an update, delete it if private.
|
protected void |
objectUnchangedDuringUpdate(ObjectLevelModifyQuery query,
java.lang.Object object,
java.util.Map backupCloneKeyedCache,
java.lang.Object cachedKey)
INTERNAL:
An object is still in the collection, update it as it may have changed.
|
protected void |
objectUnchangedDuringUpdate(ObjectLevelModifyQuery query,
java.lang.Object object,
java.lang.Object backupClone) |
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For aggregate collection mapping the reference descriptor is cloned.
|
void |
postInsert(WriteObjectQuery query)
INTERNAL:
Insert privately owned parts
|
protected void |
postPrepareNestedBatchQuery(ReadQuery batchQuery,
ObjectLevelReadQuery query)
INTERNAL:
Allow the mapping the do any further batch preparation.
|
void |
postUpdate(WriteObjectQuery writeQuery)
INTERNAL:
Update the privately owned parts
|
void |
preDelete(DeleteObjectQuery query)
INTERNAL:
Delete privately owned parts
|
void |
preInsert(WriteObjectQuery query)
INTERNAL:
The message is passed to its reference class descriptor.
|
void |
prepareModifyQueryForDelete(ObjectLevelModifyQuery originalQuery,
ObjectLevelModifyQuery modifyQuery,
java.lang.Object wrappedObject,
java.util.Map extraData)
INTERNAL:
setup the modifyQuery for pre delete
|
void |
prepareModifyQueryForUpdate(ObjectLevelModifyQuery originalQuery,
ObjectLevelModifyQuery modifyQuery,
java.lang.Object object)
INTERNAL:
setup the modifyQuery for update,
|
ObjectLevelReadQuery |
prepareNestedJoins(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery baseQuery,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Clone and prepare the JoinedAttributeManager nested JoinedAttributeManager.
|
void |
remoteInitialization(DistributedSession session)
INTERNAL:
Once a descriptor is serialized to the remote session, all its mappings and reference descriptors are traversed.
|
void |
setDefaultSourceTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
PUBLIC:
Set a default source table to use with the source fields of this mapping.
|
void |
setIsListOrderFieldUpdatable(boolean isUpdatable)
PUBLIC:
indicates whether listOrderField value could be updated in the db.
|
protected void |
setReferenceDescriptor(ClassDescriptor aDescriptor)
INTERNAL:
Set the referenceDescriptor.
|
void |
setSourceKeyFieldNames(java.util.Vector fieldNames)
PUBLIC:
Set the source key field names associated with the mapping.
|
void |
setSourceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields)
INTERNAL:
set all the primary key names associated with this mapping
|
void |
setTargetForeignKeyFieldNames(java.util.Vector fieldNames)
PUBLIC:
Set the target foregin key field names associated with the mapping.
|
void |
setTargetForeignKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyFields)
INTERNAL:
set the target foregin key fields associated with the mapping
|
protected void |
setTargetForeignKeyToSourceKeys(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyToSourceKeys) |
protected boolean |
shouldObjectModifyCascadeToParts(ObjectLevelModifyQuery query)
Returns true as any process leading to object modification should also affect its privately owned parts
Usually used by write, insert, update and delete.
|
void |
simpleAddToCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object changeSetToAdd,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
ADVANCED:
This method is used to have an object add to a collection once the changeSet is applied
The referenceKey parameter should only be used for direct Maps.
|
void |
simpleRemoveFromCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object changeSetToRemove,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
ADVANCED:
This method is used to have an object removed from a collection once the changeSet is applied
The referenceKey parameter should only be used for direct Maps.
|
protected static void |
translateTablesAndFields(ClassDescriptor descriptor,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation,
java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation)
INTERNAL:
Called in case fieldTranslation !
|
protected void |
updateNestedAggregateMappings(ClassDescriptor descriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Called in case nestedAggregateToSourceFieldNames !
|
boolean |
verifyDelete(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Checks if object is deleted from the database or not.
|
protected void |
verifyDeleteForUpdate(DeleteObjectQuery query)
Verifying deletes make sure that all the records privately owned by this mapping are
actually removed.
|
addAggregateOrderBy, addAscendingOrdering, addDescendingOrdering, addOrderBy, buildChangeRecord, buildContainerClone, buildCopy, buildElementUnitOfWorkClone, buildListOrderField, buildReferencesPKList, calculateDeferredChanges, compareCollectionsForChange, compareLists, compareObjectsAndWrite, compareObjectsWithoutPrivateOwned, compareObjectsWithPrivateOwned, executeBatchQuery, extractResultFromBatchQuery, fixRealObjectReferences, getAdditionalFieldsBaseExpression, getContainerPolicy, getJoinCriteria, getListOrderField, getObjectCorrespondingTo, getOrderByQueryKeyExpressions, getOrderCorrectionType, getRealCollectionAttributeValueFromObject, getSelectionQueryContainerPolicy, getTargetPrimaryKeyFields, hasCustomDeleteAllQuery, hasOrderBy, initializeChangeOrderTargetQuery, initializeListOrderField, initializeListOrderFieldTable, isAttributeValueInstantiatedOrChanged, isCollectionMapping, isListOrderFieldSupported, isMapKeyObjectRelationship, iterateOnRealAttributeValue, mustDeleteReferenceObjectsOneByOne, objectOrderChangedDuringUpdate, objectUnchangedDuringUpdate, postCalculateChanges, postDelete, prepareTranslationRow, preUpdate, readPrivateOwnedForObject, recordPrivateOwnedRemovals, replaceValueHoldersIn, setChangeListener, setContainerPolicy, setCustomDeleteAllQuery, setDeleteAllCall, setDeleteAllQuery, setDeleteAllSQLString, setHasCustomDeleteAllQuery, setListOrderField, setListOrderFieldName, setMustDeleteReferenceObjectsOneByOne, setOrderCorrectionType, setSelectionQueryContainerPolicy, setSessionName, setUseLazyInstantiationForIndirectCollection, shouldUseLazyInstantiationForIndirectCollection, shouldUseListOrderFieldTableExpression, updateChangeRecord, updateChangeRecordForSelfMerge, updateCollectionChangeRecord, useCollectionClass, useCollectionClassName, useListClassName, useMapClass, useMapClass, useMapClassName, useSortedSetClass, useSortedSetClassName, useSortedSetClassName, useTransparentCollection, useTransparentList, useTransparentMap, useTransparentSet, validateBeforeInitialization, valueFromPKList, valueFromRowInternalWithJoin, writeChangesaddForeignKeyField, batchedValueFromRow, buildBackupClone, buildClone, buildCloneFromRow, checkCacheForBatchKey, createCloneValueHolder, dontDoMerge, dontUseBatchReading, dontUseIndirection, extendPessimisticLockScopeInSourceQuery, extendPessimisticLockScopeInTargetQuery, fixObjectReferences, getAttributeValueFromObject, getAttributeValueWithClonedValueHolders, getBatchFetchType, getExtendPessimisticLockScopeDedicatedQuery, getFieldsForTranslationInAggregate, getIndirectionPolicy, getJoinFetch, getMappedBy, getOrderByNormalizedExpressions, getPartitioningPolicy, getPartitioningPolicyName, getRealAttributeValueFromAttribute, getReferenceClass, getReferenceClassName, getRelationshipPartner, getRelationshipPartnerAttributeName, getSelectionCriteria, getSelectionQuery, getTempSession, getValueFromRemoteValueHolder, hasCustomSelectionQuery, hasDependency, initializeSelectionQuery, instantiateAttribute, isAttributeValueFromObjectInstantiated, isAttributeValueFullyBuilt, isAttributeValueInstantiated, isCascadeDetach, isCascadeMerge, isCascadeOnDeleteSetOnDatabase, isCascadePersist, isCascadeRefresh, isCascadeRemove, isExtendingPessimisticLockScope, isForeignReferenceMapping, isInnerJoinFetched, isJoinFetched, isLazy, isLockableMapping, isOuterJoinFetched, isPrivateOwned, iterate, mergeRemoteValueHolder, preInitialize, prepareHistoricalQuery, prepareNestedBatchQuery, prepareNestedJoinQueryClone, privateOwnedRelationship, readFromRowIntoObject, requiresTransientWeavedFields, setBatchFetchType, setCascadeAll, setCascadeDetach, setCascadeMerge, setCascadePersist, setCascadeRefresh, setCascadeRemove, setCustomSelectionQuery, setForceInitializationOfSelectionCriteria, setHasCustomSelectionQuery, setIndirectionPolicy, setIsCacheable, setIsCascadeOnDeleteSetOnDatabase, setIsPrivateOwned, setJoinFetch, setMappedBy, setPartitioningPolicy, setPartitioningPolicyName, setRealAttributeValueInObject, setReferenceClass, setReferenceClassName, setRelationshipPartner, setRelationshipPartnerAttributeName, setRequiresTransientWeavedFields, setSelectionCall, setSelectionCriteria, setSelectionQuery, setSelectionSQLString, setShouldExtendPessimisticLockScope, setTempSession, setUsesBatchReading, setUsesIndirection, shouldExtendPessimisticLockScope, shouldExtendPessimisticLockScopeInDedicatedQuery, shouldExtendPessimisticLockScopeInSourceQuery, shouldExtendPessimisticLockScopeInTargetQuery, shouldForceInitializationOfSelectionCriteria, shouldInitializeSelectionCriteria, shouldMergeCascadeParts, shouldMergeCascadeReference, shouldRefreshCascadeParts, shouldUseBatchReading, shouldUseValueFromRowWithJoin, trimRowForJoin, trimRowForJoin, useBasicIndirection, useBatchReading, useContainerIndirection, useInnerJoinFetch, useOuterJoinFetch, usesIndirection, useWeavedIndirection, valueFromRow, valueFromRowInternal, valueFromRowInternaladdUnconvertedProperty, buildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, cloneFields, collectFields, convertConverterClassNamesToClasses, derivesId, earlyPreDelete, extractNestedExpressions, extractNestedNonAggregateExpressions, getAttributeAccessor, getAttributeClassification, getAttributeName, getDerivedIdMapping, getDescriptor, getField, getFieldClassification, getFields, getGetMethodName, getMapsIdValue, getProperties, getProperty, getRealAttributeValueFromObject, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getWeight, hasConstraintDependency, hasInverseConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, isAbstractColumnMapping, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateMapping, isAggregateObjectMapping, isCacheable, isCloningRequired, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isInAndOutSopObject, isInOnlySopObject, isInSopObject, isJPAId, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isMultitenantPrimaryKeyMapping, isNestedTableMapping, isObjectReferenceMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOutOnlySopObject, isOutSopObject, isPrimaryKeyMapping, isReadOnly, isReferenceMapping, isRemotelyInitialized, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, isWriteOnly, isXMLMapping, performDataModificationEvent, postCalculateChangesOnDeleted, postInitializeSourceAndTargetExpressions, prepareCascadeLockingPolicy, readFromResultSetIntoObject, readOnly, readWrite, rehashFieldDependancies, remotelyInitialized, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setDerivedIdMapping, setDerivesId, setDescriptor, setFields, setGetMethodName, setIsInAndOutSopObject, setIsInSopObject, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsOutSopObject, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setSetMethodName, setWeight, toString, validateAfterInitialization, valueFromObject, valueFromResultSet, valueFromRow, writeFromAttributeIntoRow, writeFromObjectIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForUpdate, writeFromObjectIntoRowForUpdateAfterShallowInsert, writeFromObjectIntoRowForUpdateBeforeShallowDelete, writeFromObjectIntoRowForWhereClause, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow, writeUpdateFieldsIntoRowequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAttributeNameprotected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyFields
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields
protected java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyToSourceKeys
protected java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> aggregateToSourceFields
protected java.util.Map<java.lang.String,java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField>> nestedAggregateToSourceFields
protected java.util.Map<java.lang.String,Converter> converters
protected ClassDescriptor remoteReferenceDescriptor
protected org.eclipse.persistence.internal.helper.DatabaseTable defaultSourceTable
protected boolean isEntireObjectPK
protected transient DataModifyQuery updateListOrderFieldQuery
protected transient DataModifyQuery bulkUpdateListOrderFieldQuery
protected transient DataModifyQuery pkUpdateListOrderFieldQuery
protected boolean isListOrderFieldUpdatable
protected static final java.lang.String min
protected static final java.lang.String max
protected static final java.lang.String shift
protected static final java.lang.String pk
protected static final java.lang.String bulk
protected java.lang.Boolean hasNestedIdentityReference
public AggregateCollectionMapping()
public boolean isRelationalMapping()
isRelationalMapping in class DatabaseMappingpublic void addOverrideManyToManyMapping(ManyToManyMapping mapping)
addOverrideManyToManyMapping in interface EmbeddableMappingpublic void addOverrideUnidirectionalOneToManyMapping(UnidirectionalOneToManyMapping mapping)
addOverrideUnidirectionalOneToManyMapping in interface EmbeddableMappingpublic void addConverter(Converter converter, java.lang.String attributeName)
addConverter in interface EmbeddableMappingpublic void addFieldNameTranslation(java.lang.String sourceFieldName,
java.lang.String aggregateFieldName)
public void addFieldTranslation(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
java.lang.String aggregateField)
addFieldTranslation in interface EmbeddableMappingpublic void addFieldTranslations(java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> map)
public void addNestedFieldNameTranslation(java.lang.String attributeName,
java.lang.String sourceFieldName,
java.lang.String aggregateFieldName)
public void addNestedFieldTranslation(java.lang.String attributeName,
org.eclipse.persistence.internal.helper.DatabaseField sourceField,
java.lang.String aggregateFieldName)
addNestedFieldTranslation in interface EmbeddableMappingpublic void addNestedFieldNameTranslations(java.lang.String attributeName,
java.util.Map<java.lang.String,org.eclipse.persistence.internal.helper.DatabaseField> map)
public void addTargetForeignKeyField(org.eclipse.persistence.internal.helper.DatabaseField targetForeignKey,
org.eclipse.persistence.internal.helper.DatabaseField sourceKey)
addTargetForeignKeyField in class ForeignReferenceMappingpublic void addTargetForeignKeyFieldName(java.lang.String targetForeignKey,
java.lang.String sourceKey)
public java.lang.Object buildBackupCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object clone,
java.lang.Object backup,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
buildBackupCloneForPartObject in class CollectionMappingpublic java.lang.Object buildCloneForPartObject(java.lang.Object attributeValue,
java.lang.Object original,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
java.lang.Object clone,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
java.lang.Integer refreshCascade,
boolean isExisting,
boolean isFromSharedCache)
buildCloneForPartObject in class CollectionMappingprotected java.lang.Object buildElementBackupClone(java.lang.Object element,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
public java.lang.Object buildElementClone(java.lang.Object element,
java.lang.Object parent,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
java.lang.Integer refreshCascade,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
boolean isExisting,
boolean isFromSharedCache)
buildElementClone in class CollectionMappingpublic Expression buildExpression(java.lang.Object queryObject, QueryByExamplePolicy policy, Expression expressionBuilder, java.util.Map processedObjects, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildExpression in class CollectionMappingpublic void collectQueryParameters(java.util.Set<org.eclipse.persistence.internal.helper.DatabaseField> cacheFields)
collectQueryParameters in class CollectionMappingpublic void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
convertClassNamesToClasses in class CollectionMappingclassLoader - Where to search for classes.public void cascadeDiscoverAndPersistUnregisteredNewObjects(java.lang.Object object,
java.util.Map newObjects,
java.util.Map unregisteredExistingObjects,
java.util.Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Set cascadeErrors)
cascadeDiscoverAndPersistUnregisteredNewObjects in class CollectionMappingpublic void cascadeRegisterNewIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
cascadeRegisterNewIfRequired in class CollectionMappingpublic void cascadePerformRemoveIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
cascadePerformRemoveIfRequired in class CollectionMappingpublic void cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
java.util.Map visitedObjects)
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired in class CollectionMappingpublic java.lang.Object clone()
clone in interface MapComponentMappingclone in class CollectionMappingpublic org.eclipse.persistence.internal.sessions.ChangeRecord compareForChange(java.lang.Object clone,
java.lang.Object backUp,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
compareForChange in class CollectionMappingprotected boolean compareMapCollectionForChange(java.util.Map cloneObjectCollection,
java.util.Map backUpCollection,
org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void compareListsAndWrite(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
throws DatabaseException,
OptimisticLockException
compareListsAndWrite in class CollectionMappingDatabaseExceptionOptimisticLockExceptionprotected void compareListsAndWrite_NonUpdatableListOrderField(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
throws DatabaseException,
OptimisticLockException
protected void compareListsAndWrite_UpdatableListOrderField(java.util.List previousList,
java.util.List currentList,
WriteObjectQuery query)
throws DatabaseException,
OptimisticLockException
protected int objectChangedListOrderDuringUpdate(WriteObjectQuery query, int iMin, int iMax, int iShift)
protected int objectChangedListOrderDuringUpdate(WriteObjectQuery query, java.lang.Object key, int newOrderValue)
public boolean compareObjects(java.lang.Object firstObject,
java.lang.Object secondObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
compareObjects in class CollectionMappingpublic boolean compareLists(java.util.List firstList,
java.util.List secondList,
org.eclipse.persistence.internal.sessions.AbstractSession session)
protected org.eclipse.persistence.internal.sessions.ChangeRecord convertToChangeRecord(java.lang.Object cloneCollection,
java.lang.Object backupCollection,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
owner - org.eclipse.persistence.internal.sessions.ObjectChangeSet the ChangeSet that uses this recordcloneCollection - Object the collection to convertsession - org.eclipse.persistence.internal.sessions.AbstractSessionprotected java.lang.Object copyElement(java.lang.Object original,
CopyGroup group)
copyElement in class CollectionMappingpublic java.lang.Object createMapComponentFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord dbRow,
ObjectBuildingQuery query,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean isTargetProtected)
createMapComponentFromRow in interface MapComponentMappingprotected void deleteAll(DeleteObjectQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseExceptionprotected void executeEvent(int eventCode,
ObjectLevelModifyQuery query)
protected java.lang.Object extractKeyFromTargetRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
extractKeyFromTargetRow in class CollectionMappingprotected java.lang.Object extractBatchKeyFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
extractBatchKeyFromRow in class ForeignReferenceMappingprotected Expression buildBatchCriteria(ExpressionBuilder builder, ObjectLevelReadQuery query)
buildBatchCriteria in class ForeignReferenceMappingprotected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query)
postPrepareNestedBatchQuery in class CollectionMappingpublic org.eclipse.persistence.internal.sessions.AbstractRecord getAggregateRow(ObjectLevelModifyQuery query, java.lang.Object object)
protected Expression getDeleteAllCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected ModifyQuery getDeleteAllQuery()
getDeleteAllQuery in class CollectionMappingpublic ClassDescriptor getReferenceDescriptor()
getReferenceDescriptor in class ForeignReferenceMappingpublic ClassDescriptor getReferenceDescriptor(java.lang.Class theClass, org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.util.Vector getReferenceObjectKeys(ObjectLevelModifyQuery query) throws DatabaseException, OptimisticLockException
public java.util.Vector getSourceKeyFieldNames()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getSourceKeyFields()
public java.util.Vector getTargetForeignKeyFieldNames()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getTargetForeignKeyFields()
public java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> getTargetForeignKeyToSourceKeys()
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initialize in class CollectionMappingDescriptorExceptionprotected void initializeReferenceDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initializeReferenceDescriptor in class ForeignReferenceMappingDescriptorExceptionprotected void initializeUpdateListOrderQuery(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.lang.String queryType)
public ObjectLevelReadQuery prepareNestedJoins(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery baseQuery, org.eclipse.persistence.internal.sessions.AbstractSession session)
prepareNestedJoins in class ForeignReferenceMappingprotected static void translateTablesAndFields(ClassDescriptor descriptor, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation)
protected void updateNestedAggregateMappings(ClassDescriptor descriptor, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void initializeChildInheritance(ClassDescriptor parentDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation) throws DescriptorException
DescriptorExceptionprotected void initializeDeleteAllQuery(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void initializeParentInheritance(ClassDescriptor parentDescriptor, ClassDescriptor childDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> fieldTranslation, java.util.HashMap<org.eclipse.persistence.internal.helper.DatabaseTable,org.eclipse.persistence.internal.helper.DatabaseTable> tableTranslation) throws DescriptorException
DescriptorExceptionprotected void initializeSelectionCriteria(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void initializeTargetForeignKeyToSourceKeys(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
DescriptorExceptionprotected void initializeTargetForeignKeyToSourceKeysWithDefaults(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
DescriptorExceptionpublic void iterateOnElement(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
java.lang.Object element)
iterateOnElement in class CollectionMappingpublic boolean isAggregateCollectionMapping()
isAggregateCollectionMapping in class DatabaseMappingpublic boolean isElementCollectionMapping()
isElementCollectionMapping in class DatabaseMappingpublic boolean isJoiningSupported()
isJoiningSupported in class ForeignReferenceMappingpublic boolean isOwned()
isOwned in class DatabaseMappingprotected boolean isSourceKeySpecified()
public void load(java.lang.Object object,
org.eclipse.persistence.internal.queries.AttributeItem item,
org.eclipse.persistence.internal.sessions.AbstractSession session,
boolean fromFetchGroup)
load in class CollectionMappingpublic void loadAll(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.IdentityHashSet loaded)
loadAll in class CollectionMappingpublic void mergeChangesIntoObject(java.lang.Object target,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
java.lang.Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
mergeChangesIntoObject in class CollectionMappingpublic void mergeIntoObject(java.lang.Object target,
boolean isTargetUnInitialized,
java.lang.Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
mergeIntoObject in class CollectionMappingprotected void objectAddedDuringUpdate(ObjectLevelModifyQuery query, java.lang.Object objectAdded, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet, java.util.Map extraData) throws DatabaseException, OptimisticLockException
objectAddedDuringUpdate in class CollectionMappingDatabaseExceptionOptimisticLockExceptionprotected void objectRemovedDuringUpdate(ObjectLevelModifyQuery query, java.lang.Object objectDeleted, java.util.Map extraData) throws DatabaseException, OptimisticLockException
objectRemovedDuringUpdate in class CollectionMappingDatabaseExceptionOptimisticLockExceptionprotected void objectUnchangedDuringUpdate(ObjectLevelModifyQuery query, java.lang.Object object, java.util.Map backupCloneKeyedCache, java.lang.Object cachedKey) throws DatabaseException, OptimisticLockException
objectUnchangedDuringUpdate in class CollectionMappingDatabaseExceptionOptimisticLockExceptionprotected void objectUnchangedDuringUpdate(ObjectLevelModifyQuery query, java.lang.Object object, java.lang.Object backupClone) throws DatabaseException, OptimisticLockException
public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
postInitialize in class CollectionMappingDescriptorExceptionpublic void postInsert(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
postInsert in class CollectionMappingDatabaseExceptionOptimisticLockExceptionpublic void postUpdate(WriteObjectQuery writeQuery) throws DatabaseException, OptimisticLockException
postUpdate in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void preDelete(DeleteObjectQuery query) throws DatabaseException, OptimisticLockException
preDelete in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void preInsert(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
preInsert in class CollectionMappingDatabaseExceptionOptimisticLockExceptionprotected InsertObjectQuery getInsertObjectQuery(org.eclipse.persistence.internal.sessions.AbstractSession session, ClassDescriptor desc)
public InsertObjectQuery getAndPrepareModifyQueryForInsert(ObjectLevelModifyQuery originalQuery, java.lang.Object object)
public void prepareModifyQueryForDelete(ObjectLevelModifyQuery originalQuery, ObjectLevelModifyQuery modifyQuery, java.lang.Object wrappedObject, java.util.Map extraData)
public void prepareModifyQueryForUpdate(ObjectLevelModifyQuery originalQuery, ObjectLevelModifyQuery modifyQuery, java.lang.Object object)
protected void setReferenceDescriptor(ClassDescriptor aDescriptor)
setReferenceDescriptor in class ForeignReferenceMappingpublic void setSourceKeyFieldNames(java.util.Vector fieldNames)
public void setSourceKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> sourceKeyFields)
public void setTargetForeignKeyFieldNames(java.util.Vector fieldNames)
public void setTargetForeignKeyFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyFields)
protected void setTargetForeignKeyToSourceKeys(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> targetForeignKeyToSourceKeys)
protected boolean shouldObjectModifyCascadeToParts(ObjectLevelModifyQuery query)
shouldObjectModifyCascadeToParts in class ForeignReferenceMappingpublic void simpleAddToCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object changeSetToAdd,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
simpleAddToCollectionChangeRecord in class CollectionMappingpublic void simpleRemoveFromCollectionChangeRecord(java.lang.Object referenceKey,
java.lang.Object changeSetToRemove,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session)
simpleRemoveFromCollectionChangeRecord in class CollectionMappingpublic boolean verifyDelete(java.lang.Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DatabaseException
verifyDelete in class CollectionMappingDatabaseExceptionprotected void verifyDeleteForUpdate(DeleteObjectQuery query) throws DatabaseException, OptimisticLockException
public boolean isCandidateForPrivateOwnedRemoval()
isCandidateForPrivateOwnedRemoval in class DatabaseMappingpublic boolean isCascadedLockingSupported()
isCascadedLockingSupported in class DatabaseMappingpublic boolean isChangeTrackingSupported(Project project)
isChangeTrackingSupported in class CollectionMappingpublic void remoteInitialization(DistributedSession session)
remoteInitialization in class ForeignReferenceMappingpublic boolean isListOrderFieldUpdatable()
public void setIsListOrderFieldUpdatable(boolean isUpdatable)
public void setDefaultSourceTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
public boolean hasNestedIdentityReference()
hasNestedIdentityReference in class ForeignReferenceMapping