public abstract class ObjectReferenceMapping extends ForeignReferenceMapping
Purpose: Abstract class for 1:1, variable 1:1 and reference mappings
DatabaseMapping.WriteTypeINNER_JOIN, NONE, OUTER_JOIN, QUERY_BATCH_PARAMETER| Modifier and Type | Method and Description |
|---|---|
Object |
buildBackupCloneForPartObject(Object attributeValue,
Object clone,
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.
|
org.eclipse.persistence.internal.sessions.ChangeRecord |
buildChangeRecord(Object clone,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Directly build a change record without comparison
|
Object |
buildCloneForPartObject(Object attributeValue,
Object original,
Object clone,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
boolean isExisting)
INTERNAL:
Require for cloning, the part must be cloned.
|
void |
buildCopy(Object copy,
Object original,
CopyGroup group)
INTERNAL:
Copy of the attribute of the object.
|
Expression |
buildExpression(Object queryObject,
QueryByExamplePolicy policy,
Expression expressionBuilder,
Map processedObjects,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
In case Query By Example is used, this method generates an expression from a attribute value pair.
|
Object[] |
buildReferencesPKList(Object entity,
Object attribute,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This method will access the target relationship and create a
list of PKs of the target entities.
|
Collection |
buildTargetInterfaces(Class aClass,
Collection targetInterfacesCol)
INTERNAL:
Build a list of all the interfaces and super interfaces for a given class.
|
void |
cascadeDiscoverAndPersistUnregisteredNewObjects(Object object,
Map newObjects,
Map unregisteredExistingObjects,
Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Cascade discover and persist new objects during commit.
|
void |
cascadeDiscoverAndPersistUnregisteredNewObjects(Object object,
Map newObjects,
Map unregisteredExistingObjects,
Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
boolean getAttributeValueFromObject)
INTERNAL:
Cascade discover and persist new objects during commit.
|
void |
cascadePerformRemoveIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
void |
cascadePerformRemoveIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects,
boolean getAttributeValueFromObject)
INTERNAL:
Cascade remove through mappings that require the cascade.
|
void |
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects)
INTERNAL:
Cascade removal of orphaned private owned objects from the UnitOfWorkChangeSet
|
void |
cascadeRegisterNewIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
void |
cascadeRegisterNewIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects,
boolean getAttributeValueFromObject)
INTERNAL:
Cascade registerNew for Create through mappings that require the cascade
|
org.eclipse.persistence.internal.sessions.ChangeRecord |
compareForChange(Object clone,
Object backUp,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return an ObjectReferenceChangeRecord describing the change, or null if no change.
|
org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder |
createUnitOfWorkValueHolder(ValueHolderInterface attributeValue,
Object original,
Object clone,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
boolean buildDirectlyFromRow)
INTERNAL:
Builder the unit of work value holder.
|
org.eclipse.persistence.internal.sessions.AbstractRecord |
extractPrimaryKeyRowForSourceObject(Object domainObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the reference pk for rvh usage in remote model.
|
Object |
extractPrimaryKeysForReferenceObject(Object domainObject,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the reference pk for rvh usage in remote model.
|
Object |
extractPrimaryKeysForReferenceObjectFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row)
INTERNAL:
Return the primary key for the reference object (i.e.
|
Object |
extractPrimaryKeysFromRealReferenceObject(Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the reference pk for rvh usage in remote model.
|
void |
fixRealObjectReferences(Object object,
Map objectDescriptors,
Map processedObjects,
ObjectLevelReadQuery query,
RemoteSession session)
INTERNAL:
We are not using a remote valueholder
so we need to replace the reference object(s) with
the corresponding object(s) from the remote session.
|
ClassDescriptor |
getDescriptorForTarget(Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return a descriptor for the target of this mapping
|
Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getForeignKeyFields()
INTERNAL:
Returns the foreign key names associated with the mapping.
|
Object |
getRealAttributeValueFromAttribute(Object attributeValue,
Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Object reference must unwrap the reference object if required.
|
boolean |
hasConstraintDependency()
INTERNAL:
The returns if the mapping has any constraint dependencies, such as foreign keys and join tables.
|
org.eclipse.persistence.internal.sessions.ObjectReferenceChangeRecord |
internalBuildChangeRecord(Object newValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Directly build a change record based on the newValue without comparison
|
boolean |
isChangeTrackingSupported(Project project)
INTERNAL:
Return if this mapping supports change tracking.
|
boolean |
isForeignKeyRelationship()
INTERNAL:
Return if the 1-1 mapping has a foreign key dependency to its target.
|
boolean |
isObjectReferenceMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
void |
iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
Object realAttributeValue)
INTERNAL:
Iterate on the attribute value.
|
void |
mergeChangesIntoObject(Object target,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
INTERNAL:
Merge changes from the source to the target object.
|
void |
mergeIntoObject(Object target,
boolean isTargetUnInitialized,
Object source,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
INTERNAL:
Merge changes from the source to the target object.
|
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 |
postDelete(DeleteObjectQuery query)
INTERNAL:
Delete privately owned parts
|
void |
postInsert(WriteObjectQuery query)
INTERNAL:
Insert privately owned parts
|
void |
postUpdate(WriteObjectQuery query)
INTERNAL:
Update privately owned parts
|
void |
preDelete(DeleteObjectQuery query)
INTERNAL:
Delete privately owned parts
|
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Initialize the state of mapping.
|
void |
preInsert(WriteObjectQuery query)
INTERNAL:
Insert privately owned parts
|
void |
preUpdate(WriteObjectQuery query)
INTERNAL:
Update privately owned parts
|
void |
recordPrivateOwnedRemovals(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.
|
void |
setIsForeignKeyRelationship(boolean isForeignKeyRelationship)
INTERNAL:
Set if the 1-1 mapping has a foreign key dependency to its target.
|
void |
setNewValueInChangeRecord(Object newValue,
org.eclipse.persistence.internal.sessions.ObjectReferenceChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.ObjectChangeSet owner,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Set the newValue in the change record
|
void |
updateChangeRecord(Object clone,
Object newValue,
Object oldValue,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Either create a new change record or update the change record with the new value.
|
void |
useProxyIndirection()
PUBLIC:
Set this mapping to use Proxy Indirection.
|
void |
useProxyIndirection(Class targetInterface)
PUBLIC:
Set this mapping to use Proxy Indirection.
|
void |
useProxyIndirection(Class[] targetInterfaces)
PUBLIC:
Set this mapping to use Proxy Indirection.
|
Object |
valueFromPKList(Object[] pks,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This method is used to load a relationship from a list of PKs.
|
boolean |
verifyDelete(Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
To verify if the specified object is deleted or not.
|
void |
writeFromObjectIntoRowForUpdate(WriteObjectQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
INTERNAL:
Get a value from the object and set that in the respective field of the row.
|
void |
writeFromObjectIntoRowForWhereClause(ObjectLevelModifyQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
INTERNAL:
Get a value from the object and set that in the respective field of the row.
|
buildBackupClone, buildClone, buildCloneFromRow, clone, compareObjects, convertClassNamesToClasses, dontUseBatchReading, dontUseIndirection, extendPessimisticLockScopeInSourceQuery, extractResultFromBatchQuery, fixObjectReferences, getAttributeValueFromObject, getAttributeValueWithClonedValueHolders, getBatchFetchType, getIndirectionPolicy, getJoinCriteria, getJoinFetch, getObjectCorrespondingTo, getReferenceClass, getReferenceClassName, getReferenceDescriptor, getRelationshipPartner, getRelationshipPartnerAttributeName, getSelectionCriteria, getSelectionQuery, getValueFromRemoteValueHolder, hasCustomSelectionQuery, initialize, instantiateAttribute, isAttributeValueInstantiated, isCascadeDetach, isCascadeMerge, isCascadePersist, isCascadeRefresh, isCascadeRemove, isForeignReferenceMapping, isInnerJoinFetched, isJoinFetched, isJoiningSupported, isLazy, isLockableMapping, isOuterJoinFetched, isPrivateOwned, iterate, mergeRemoteValueHolder, prepareNestedBatchQuery, prepareNestedJoins, privateOwnedRelationship, remoteInitialization, replaceValueHoldersIn, requiresTransientWeavedFields, setBatchFetchType, setCascadeAll, setCascadeDetach, setCascadeMerge, setCascadePersist, setCascadeRefresh, setCascadeRemove, setCustomSelectionQuery, setForceInitializationOfSelectionCriteria, setIndirectionPolicy, setIsPrivateOwned, setJoinFetch, setRealAttributeValueInObject, setReferenceClass, setReferenceClassName, setRelationshipPartner, setRelationshipPartnerAttributeName, setRequiresTransientWeavedFields, setSelectionCall, setSelectionCriteria, setSelectionSQLString, setShouldExtendPessimisticLockScope, setUsesBatchReading, setUsesIndirection, shouldExtendPessimisticLockScope, shouldExtendPessimisticLockScopeInDedicatedQuery, shouldExtendPessimisticLockScopeInSourceQuery, shouldExtendPessimisticLockScopeInTargetQuery, shouldMergeCascadeParts, shouldUseBatchReading, trimRowForJoin, trimRowForJoin, useBasicIndirection, useBatchReading, useContainerIndirection, useInnerJoinFetch, useOuterJoinFetch, usesIndirection, useWeavedIndirection, validateBeforeInitialization, valueFromRowbuildObjectJoinExpression, buildObjectJoinExpression, buildShallowOriginalFromRow, calculateDeferredChanges, cascadeMerge, derivesId, earlyPreDelete, getAttributeAccessor, getAttributeClassification, getAttributeName, getContainerPolicy, getDerivedIdMapping, getDescriptor, getField, getFieldClassification, getFields, getGetMethodName, getMapsIdValue, getProperties, getProperty, getRealAttributeValueFromObject, getRealCollectionAttributeValueFromObject, getSelectFields, getSelectTables, getSetMethodName, getWeight, hasDependency, hasInverseConstraintDependency, hasMapsIdValue, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAggregateMapping, isAggregateObjectMapping, isCandidateForPrivateOwnedRemoval, isCascadedLockingSupported, isCloningRequired, isCollectionMapping, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isJPAId, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isNestedTableMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOwned, isPrimaryKeyMapping, isReadOnly, isReferenceMapping, isRelationalMapping, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, isWriteOnly, isXMLMapping, performDataModificationEvent, postCalculateChangesOnDeleted, postInitialize, prepareCascadeLockingPolicy, readFromResultSetIntoObject, readFromRowIntoObject, readOnly, readWrite, rehashFieldDependancies, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setChangeListener, setDerivedIdMapping, setDerivesId, setDescriptor, setGetMethodName, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setSetMethodName, setWeight, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, toString, updateCollectionChangeRecord, validateAfterInitialization, valueFromObject, valueFromResultSet, valueFromRow, writeFromAttributeIntoRow, writeFromObjectIntoRow, writeFromObjectIntoRowForShallowInsert, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowWithChangeRecord, writeInsertFieldsIntoRow, writeUpdateFieldsIntoRowpublic Object buildBackupCloneForPartObject(Object attributeValue, Object clone, Object backup, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork)
buildBackupCloneForPartObject in class ForeignReferenceMappingpublic Object buildCloneForPartObject(Object attributeValue, Object original, Object clone, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, boolean isExisting)
buildCloneForPartObject in class ForeignReferenceMappingpublic void buildCopy(Object copy, Object original, CopyGroup group)
buildCopy in class DatabaseMappingpublic Expression buildExpression(Object queryObject, QueryByExamplePolicy policy, Expression expressionBuilder, Map processedObjects, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildExpression in class DatabaseMappingpublic org.eclipse.persistence.internal.sessions.ChangeRecord compareForChange(Object clone, Object backUp, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
compareForChange in class DatabaseMappingpublic org.eclipse.persistence.internal.sessions.ObjectReferenceChangeRecord internalBuildChangeRecord(Object newValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void setNewValueInChangeRecord(Object newValue, org.eclipse.persistence.internal.sessions.ObjectReferenceChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void fixRealObjectReferences(Object object, Map objectDescriptors, Map processedObjects, ObjectLevelReadQuery query, RemoteSession session)
fixRealObjectReferences in class DatabaseMappingpublic ClassDescriptor getDescriptorForTarget(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
Bug 2612571public Object getRealAttributeValueFromAttribute(Object attributeValue, Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
getRealAttributeValueFromAttribute in class ForeignReferenceMappingpublic boolean isObjectReferenceMapping()
isObjectReferenceMapping in class DatabaseMappingpublic void iterateOnRealAttributeValue(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
Object realAttributeValue)
iterateOnRealAttributeValue in class ForeignReferenceMappingpublic void mergeChangesIntoObject(Object target, org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
mergeChangesIntoObject in class DatabaseMappingpublic void mergeIntoObject(Object target, boolean isTargetUnInitialized, Object source, org.eclipse.persistence.internal.sessions.MergeManager mergeManager)
mergeIntoObject in class DatabaseMappingpublic Vector<org.eclipse.persistence.internal.helper.DatabaseField> getForeignKeyFields()
public boolean isForeignKeyRelationship()
public void setIsForeignKeyRelationship(boolean isForeignKeyRelationship)
public void preInsert(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
preInsert in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void preUpdate(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
preUpdate in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void postCalculateChanges(ChangeRecord changeRecord, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
postCalculateChanges in class DatabaseMappingpublic void recordPrivateOwnedRemovals(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
recordPrivateOwnedRemovals in class DatabaseMappingpublic void postDelete(DeleteObjectQuery query) throws DatabaseException, OptimisticLockException
postDelete in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void postInsert(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
postInsert in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void postUpdate(WriteObjectQuery query) throws DatabaseException, OptimisticLockException
postUpdate in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void preDelete(DeleteObjectQuery query) throws DatabaseException, OptimisticLockException
preDelete in class DatabaseMappingDatabaseExceptionOptimisticLockExceptionpublic void cascadePerformRemoveIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadePerformRemoveIfRequired in class DatabaseMappingpublic void cascadePerformRemoveIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects, boolean getAttributeValueFromObject)
object - is either the source object, or attribute value if getAttributeValueFromObject is true.public void cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired in class DatabaseMappingpublic void cascadeDiscoverAndPersistUnregisteredNewObjects(Object object, Map newObjects, Map unregisteredExistingObjects, Map visitedObjects, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
cascadeDiscoverAndPersistUnregisteredNewObjects in class DatabaseMappingpublic void cascadeDiscoverAndPersistUnregisteredNewObjects(Object object, Map newObjects, Map unregisteredExistingObjects, Map visitedObjects, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, boolean getAttributeValueFromObject)
public void cascadeRegisterNewIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadeRegisterNewIfRequired in class DatabaseMappingpublic void cascadeRegisterNewIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects, boolean getAttributeValueFromObject)
object - is either the source object, or attribute value if getAttributeValueFromObject is true.public boolean hasConstraintDependency()
hasConstraintDependency in class DatabaseMappingpublic org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder createUnitOfWorkValueHolder(ValueHolderInterface attributeValue, Object original, Object clone, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, boolean buildDirectlyFromRow)
createUnitOfWorkValueHolder in class ForeignReferenceMappingbuildDirectlyFromRow - indicates that we are building the clone directly
from a row as opposed to building the original from the row, putting it in
the shared cache, and then cloning the original.public org.eclipse.persistence.internal.sessions.AbstractRecord extractPrimaryKeyRowForSourceObject(Object domainObject, org.eclipse.persistence.internal.sessions.AbstractSession session)
public Object extractPrimaryKeysForReferenceObject(Object domainObject, org.eclipse.persistence.internal.sessions.AbstractSession session)
public Object extractPrimaryKeysForReferenceObjectFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord row)
public Object extractPrimaryKeysFromRealReferenceObject(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
preInitialize in class ForeignReferenceMappingDescriptorExceptionpublic void useProxyIndirection()
Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:
toString is called on the proxy the real object data is retrieved from the database.
By default, use the target class' full list of interfaces for the proxy.public Object[] buildReferencesPKList(Object entity, Object attribute, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildReferencesPKList in class ForeignReferenceMappingContainerPolicy.buildReferencesPKList(),
MappedKeyMapContainerPolicy()public Collection buildTargetInterfaces(Class aClass, Collection targetInterfacesCol)
public void useProxyIndirection(Class[] targetInterfaces)
Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:
toString is called on the proxy the real object data is retrieved from the database.proxyInterfaces - The interfaces that the target class implements. The attribute must be typed
as one of these interfaces.public void useProxyIndirection(Class targetInterface)
Proxy and InvocationHandler features
of JDK 1.3 to provide "transparent indirection" for 1:1 relationships. In order to use Proxy
Indirection:
toString is called on the proxy the real object data is retrieved from the database.proxyInterface - The interface that the target class implements. The attribute must be typed
as this interface.public Object valueFromPKList(Object[] pks, org.eclipse.persistence.internal.sessions.AbstractSession session)
valueFromPKList in class ForeignReferenceMappingpublic boolean verifyDelete(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
verifyDelete in class DatabaseMappingDatabaseExceptionpublic void writeFromObjectIntoRowForUpdate(WriteObjectQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
writeFromObjectIntoRowForUpdate in class DatabaseMappingpublic void writeFromObjectIntoRowForWhereClause(ObjectLevelModifyQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
writeFromObjectIntoRowForWhereClause in class DatabaseMappingpublic boolean isChangeTrackingSupported(Project project)
isChangeTrackingSupported in class DatabaseMappingpublic void updateChangeRecord(Object clone, Object newValue, Object oldValue, org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
updateChangeRecord in class DatabaseMappingpublic org.eclipse.persistence.internal.sessions.ChangeRecord buildChangeRecord(Object clone, org.eclipse.persistence.internal.sessions.ObjectChangeSet owner, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildChangeRecord in class DatabaseMapping