public class UnidirectionalOneToManyMapping extends OneToManyMapping
Purpose: UnidirectionalOneToManyMapping doesn't have 1:1 back reference mapping.
DatabaseMapping.WriteType| Modifier and Type | Field and Description |
|---|---|
protected boolean |
shouldIncrementTargetLockValueOnAddOrRemoveTarget
Indicates whether target's optimistic locking value should be incremented on
target being added to / removed from a source.
|
protected boolean |
shouldIncrementTargetLockValueOnDeleteSource
Indicates whether target's optimistic locking value should be incremented on
the source deletion.
|
addTargetQuery, hasCustomAddTargetQuery, hasCustomRemoveAllTargetsQuery, hasCustomRemoveTargetQuery, ObjectAdded, ObjectRemoved, PostInsert, removeAllTargetsQuery, removeTargetQuery, sourceExpressionsToPostInitialize, sourceKeyFields, sourceKeysToTargetForeignKeys, targetExpressionsToPostInitialize, targetForeignKeyFields, targetForeignKeysToSourceKeys, targetForeignKeyTable, targetPrimaryKeyFieldschangeOrderTargetQuery, 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 |
|---|
UnidirectionalOneToManyMapping()
PUBLIC:
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected org.eclipse.persistence.internal.sessions.AbstractRecord |
buildKeyRowForTargetUpdate(ObjectLevelModifyQuery query)
INTERNAL:
Build a row containing the keys for use in the query that updates the row for the
target object during an insert or update
|
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 uow)
INTERNAL:
This method is used to create a change record from comparing two collections
|
protected org.eclipse.persistence.internal.sessions.AbstractRecord |
createModifyRowForAddTargetQuery()
INTERNAL:
|
protected java.util.Vector |
extractSourceKeyFromRow(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.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Initialize the mapping.
|
boolean |
isOwned()
INTERNAL:
|
boolean |
isUnidirectionalOneToManyMapping()
INTERNAL:
|
void |
postCalculateChanges(ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require additional processing of the change record after the record has been calculated.
|
void |
postCalculateChangesOnDeleted(java.lang.Object deletedObject,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet uowChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require objects to be deleted contribute to change set creation.
|
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
Initialize the type of the target foreign key, as it will be null as it is not mapped in the target.
|
protected void |
postPrepareNestedBatchQuery(ReadQuery batchQuery,
ObjectLevelReadQuery query)
INTERNAL:
Add additional fields
|
void |
preDelete(DeleteObjectQuery query)
INTERNAL:
Delete the reference objects.
|
void |
prepareCascadeLockingPolicy()
Prepare a cascade locking policy.
|
protected void |
prepareTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
java.lang.Object object,
ClassDescriptor descriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
The translation row may require additional fields than the primary key if the mapping in not on the primary key.
|
void |
recordPrivateOwnedRemovals(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Overridden by mappings that require additional processing of the change record after the record has been calculated.
|
boolean |
requiresDataModificationEvents()
INTERNAL:
UnidirectionalOneToManyMapping performs some events after INSERT/UPDATE to maintain the keys
|
void |
setShouldIncrementTargetLockValueOnAddOrRemoveTarget(boolean shouldIncrementTargetLockValueOnAddOrRemoveTarget)
PUBLIC:
Set value that indicates whether target's optimistic locking value should be incremented on
target being added to / removed from a source (default value is true).
|
void |
setShouldIncrementTargetLockValueOnDeleteSource(boolean shouldIncrementTargetLockValueOnDeleteSource)
PUBLIC:
Set value that indicates whether target's optimistic locking value should be incremented on
the source deletion (default value is true).
|
boolean |
shouldIncrementTargetLockValueOnAddOrRemoveTarget()
PUBLIC:
Indicates whether target's optimistic locking value should be incremented on
target being added to / removed from a source (default value is true).
|
boolean |
shouldIncrementTargetLockValueOnDeleteSource()
PUBLIC:
Indicates whether target's optimistic locking value should be incremented on
the source deletion (default value is true).
|
protected boolean |
shouldRemoveTargetQueryModifyTargetForeignKey()
INTERNAL
Target foreign key of the removed object should be modified (set to null).
|
addTargetForeignKeyField, addTargetForeignKeyFieldName, buildBatchCriteria, buildDefaultSelectionCriteriaAndAddFieldsToQuery, buildListOrderField, buildSelectionCriteria, clone, collectQueryParameters, createMapComponentFromRow, deleteAll, deleteReferenceObjectsLeftOnDatabase, extractBatchKeyFromRow, extractKeyFromTargetRow, getDeleteAllQuery, getFieldsForTranslationInAggregate, getSourceKeyFieldNames, getSourceKeyFields, getSourceKeysToTargetForeignKeys, getTargetForeignKeyFieldNames, getTargetForeignKeyFields, getTargetForeignKeysToSourceKeys, getTargetForeignKeyToSourceKeys, getTargetPrimaryKeyFields, hasInverseConstraintDependency, initializeAddTargetQuery, initializeChangeOrderTargetQuery, initializeDeleteAllQuery, initializeReferenceDescriptor, initializeRemoveAllTargetsQuery, initializeRemoveTargetQuery, initializeTargetForeignKeysToSourceKeys, initializeTargetPrimaryKeyFields, isCascadedLockingSupported, isJoiningSupported, isOneToManyMapping, isRelationalMapping, isSourceKeySpecified, objectAddedDuringUpdate, objectRemovedDuringUpdate, performDataModificationEvent, postInitializeSourceAndTargetExpressions, postInsert, postUpdate, setAddTargetSQLString, setCustomAddTargetQuery, setCustomRemoveAllTargetsQuery, setCustomRemoveTargetQuery, setDeleteAllSQLString, setSessionName, setSourceKeyFieldNames, setSourceKeyFields, setTargetForeignKeyFieldName, setTargetForeignKeyFieldNames, setTargetForeignKeyFieldNames, setTargetForeignKeyFields, setTargetForeignKeysToSourceKeys, shouldObjectModifyCascadeToParts, updateTargetForeignKeyPostUpdateSource_ObjectAdded, updateTargetForeignKeyPostUpdateSource_ObjectRemoved, updateTargetRowPostInsertSource, updateTargetRowPreDeleteSource, verifyDeleteaddAggregateOrderBy, addAscendingOrdering, addDescendingOrdering, addOrderBy, buildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, buildCopy, buildElementClone, buildElementUnitOfWorkClone, buildExpression, buildReferencesPKList, calculateDeferredChanges, cascadeDiscoverAndPersistUnregisteredNewObjects, cascadePerformRemoveIfRequired, cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired, cascadeRegisterNewIfRequired, compareCollectionsForChange, compareLists, compareListsAndWrite, compareObjects, compareObjectsAndWrite, compareObjectsWithoutPrivateOwned, compareObjectsWithPrivateOwned, convertClassNamesToClasses, copyElement, executeBatchQuery, extractResultFromBatchQuery, fixRealObjectReferences, getAdditionalFieldsBaseExpression, getContainerPolicy, getJoinCriteria, getListOrderField, getObjectCorrespondingTo, getOrderByQueryKeyExpressions, getOrderCorrectionType, getRealCollectionAttributeValueFromObject, getSelectionQueryContainerPolicy, hasCustomDeleteAllQuery, hasOrderBy, initializeListOrderField, initializeListOrderFieldTable, isAttributeValueInstantiatedOrChanged, isChangeTrackingSupported, isCollectionMapping, isListOrderFieldSupported, isMapKeyObjectRelationship, iterateOnElement, iterateOnRealAttributeValue, load, loadAll, mergeChangesIntoObject, mergeIntoObject, mustDeleteReferenceObjectsOneByOne, objectOrderChangedDuringUpdate, objectUnchangedDuringUpdate, objectUnchangedDuringUpdate, postDelete, preInsert, preUpdate, readPrivateOwnedForObject, replaceValueHoldersIn, setChangeListener, setContainerPolicy, setCustomDeleteAllQuery, setDeleteAllCall, setDeleteAllQuery, setHasCustomDeleteAllQuery, setListOrderField, setListOrderFieldName, setMustDeleteReferenceObjectsOneByOne, setOrderCorrectionType, setSelectionQueryContainerPolicy, setUseLazyInstantiationForIndirectCollection, shouldUseLazyInstantiationForIndirectCollection, shouldUseListOrderFieldTableExpression, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, 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, getIndirectionPolicy, getJoinFetch, getMappedBy, getOrderByNormalizedExpressions, getPartitioningPolicy, getPartitioningPolicyName, getRealAttributeValueFromAttribute, getReferenceClass, getReferenceClassName, getReferenceDescriptor, getRelationshipPartner, getRelationshipPartnerAttributeName, getSelectionCriteria, getSelectionQuery, getTempSession, getValueFromRemoteValueHolder, hasCustomSelectionQuery, hasDependency, hasNestedIdentityReference, 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, prepareNestedJoins, privateOwnedRelationship, readFromRowIntoObject, remoteInitialization, requiresTransientWeavedFields, setBatchFetchType, setCascadeAll, setCascadeDetach, setCascadeMerge, setCascadePersist, setCascadeRefresh, setCascadeRemove, setCustomSelectionQuery, setForceInitializationOfSelectionCriteria, setHasCustomSelectionQuery, setIndirectionPolicy, setIsCacheable, setIsCascadeOnDeleteSetOnDatabase, setIsPrivateOwned, setJoinFetch, setMappedBy, setPartitioningPolicy, setPartitioningPolicyName, setRealAttributeValueInObject, setReferenceClass, setReferenceClassName, setReferenceDescriptor, 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, getAttributeAccessor, getAttributeClassification, getAttributeName, getDerivedIdMapping, getDescriptor, getField, getFieldClassification, getFields, getGetMethodName, getMapsIdValue, getProperties, getProperty, getRealAttributeValueFromObject, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getWeight, hasConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, isAbstractColumnMapping, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAggregateMapping, isAggregateObjectMapping, isCacheable, isCandidateForPrivateOwnedRemoval, isCloningRequired, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isElementCollectionMapping, isInAndOutSopObject, isInOnlySopObject, isInSopObject, isJPAId, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isMultitenantPrimaryKeyMapping, isNestedTableMapping, isObjectReferenceMapping, isOneToOneMapping, isOptional, isOutOnlySopObject, isOutSopObject, isPrimaryKeyMapping, isReadOnly, isReferenceMapping, isRemotelyInitialized, isStructureMapping, isTransformationMapping, isUsingMethodAccess, isVariableOneToOneMapping, isWriteOnly, isXMLMapping, 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, writeUpdateFieldsIntoRowprotected boolean shouldIncrementTargetLockValueOnAddOrRemoveTarget
protected boolean shouldIncrementTargetLockValueOnDeleteSource
public UnidirectionalOneToManyMapping()
protected org.eclipse.persistence.internal.sessions.AbstractRecord buildKeyRowForTargetUpdate(ObjectLevelModifyQuery query)
buildKeyRowForTargetUpdate in class OneToManyMappingpublic 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 uow)
compareForChange in class CollectionMappingprotected java.util.Vector extractSourceKeyFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean isOwned()
isOwned in class DatabaseMappingpublic boolean isUnidirectionalOneToManyMapping()
isUnidirectionalOneToManyMapping in class DatabaseMappingpublic void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initialize in class OneToManyMappingDescriptorExceptionpublic void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
postInitialize in class CollectionMappingprotected org.eclipse.persistence.internal.sessions.AbstractRecord createModifyRowForAddTargetQuery()
createModifyRowForAddTargetQuery in class OneToManyMappingpublic void preDelete(DeleteObjectQuery query) throws DatabaseException, OptimisticLockException
preDelete in class OneToManyMappingDatabaseExceptionOptimisticLockExceptionpublic void prepareCascadeLockingPolicy()
prepareCascadeLockingPolicy in class OneToManyMappingpublic void postCalculateChanges(ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
postCalculateChanges in class CollectionMappingpublic void postCalculateChangesOnDeleted(java.lang.Object deletedObject,
org.eclipse.persistence.internal.sessions.UnitOfWorkChangeSet uowChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
postCalculateChangesOnDeleted in class DatabaseMappingprotected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ObjectLevelReadQuery query)
postPrepareNestedBatchQuery in class CollectionMappingprotected void prepareTranslationRow(org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
java.lang.Object object,
ClassDescriptor descriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
prepareTranslationRow in class CollectionMappingpublic void recordPrivateOwnedRemovals(java.lang.Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
recordPrivateOwnedRemovals in class CollectionMappingpublic boolean requiresDataModificationEvents()
requiresDataModificationEvents in class OneToManyMappingUnidirectionalOneToManyMappingpublic void setShouldIncrementTargetLockValueOnAddOrRemoveTarget(boolean shouldIncrementTargetLockValueOnAddOrRemoveTarget)
public void setShouldIncrementTargetLockValueOnDeleteSource(boolean shouldIncrementTargetLockValueOnDeleteSource)
public boolean shouldIncrementTargetLockValueOnAddOrRemoveTarget()
public boolean shouldIncrementTargetLockValueOnDeleteSource()
protected boolean shouldRemoveTargetQueryModifyTargetForeignKey()
shouldRemoveTargetQueryModifyTargetForeignKey in class OneToManyMapping