public class AggregateObjectMapping extends AggregateMapping implements RelationalMapping, MapKeyMapping, EmbeddableMapping
Purpose:Two objects can be considered to be related by aggregation if there is a strict 1:1 relationship between the objects. This means that the target (child or owned) object cannot exist without the source (parent) object. In TopLink, it also means the data for the owned object is stored in the same table as the parent.
DatabaseMapping.WriteType| Modifier and Type | Field and Description |
|---|---|
protected org.eclipse.persistence.internal.helper.DatabaseTable |
aggregateKeyTable |
protected Map<String,org.eclipse.persistence.internal.helper.DatabaseField> |
aggregateToSourceFields
322233 - changed to store the source DatabaseField to hold Case and other colunm info
|
protected Map<String,Converter> |
converters
List of converters to apply at initialize time to their cloned aggregate mappings.
|
protected boolean |
isNullAllowed
If all the fields in the database row for the aggregate object are NULL,
then, by default, the mapping will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
|
protected List<DatabaseMapping> |
mapsIdMappings
List of maps id mappings that need to be set to read only at initialize
time on their cloned aggregate mappings.
|
protected Map<String,Object[]> |
nestedFieldTranslations
Map of nested attributes that need to apply an override name to their
a nested aggregate mapping's database field.
|
protected List<ManyToManyMapping> |
overrideManyToManyMappings
List of many to many mapping overrides to apply at initialize time to
their cloned aggregate mappings.
|
protected List<UnidirectionalOneToManyMapping> |
overrideUnidirectionalOneToManyMappings
List of unidirectional one to many mapping overrides to apply at
initialize time to their cloned aggregate mappings.
|
hasNestedIdentityReference, referenceClass, referenceClassName, referenceDescriptorattributeAccessor, 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 |
|---|
AggregateObjectMapping()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAdditionalFieldsToQuery(ReadQuery selectionQuery,
Expression baseExpression)
INTERNAL:
Used when initializing queries for mappings that use a Map
Called when the selection query is being initialized to add the fields for the map key to the query
|
void |
addConverter(Converter converter,
String attributeName)
Add a converter to be applied to a mapping of the aggregate descriptor.
|
void |
addFieldNameTranslation(String sourceFieldName,
String aggregateFieldName)
PUBLIC:
Add a field name translation that maps from a field name in the
source table to a field name in the aggregate descriptor.
|
void |
addFieldsForMapKey(org.eclipse.persistence.internal.sessions.AbstractRecord joinRow)
INTERNAL:
Used when initializing queries for mappings that use a Map
Called when the insert query is being initialized to ensure the fields for the map key are in the insert query
|
void |
addFieldTranslation(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
String aggregateFieldName)
PUBLIC:
Add a field translation that maps from a field in the
source table to a field name in the aggregate descriptor.
|
void |
addKeyToDeletedObjectsList(Object object,
Map deletedObjects)
INTERNAL:
For mappings used as MapKeys in MappedKeyContainerPolicy.
|
void |
addMapsIdMapping(DatabaseMapping mapping)
INTERNAL:
In JPA users may specify a maps id mapping on a shared embeddable
descriptor.
|
void |
addNestedFieldTranslation(String attributeName,
org.eclipse.persistence.internal.helper.DatabaseField sourceField,
String aggregateFieldName)
INTERNAL:
Add a nested field translation that maps from a field in the source table
to a field name in a nested aggregate descriptor.
|
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 |
addPrimaryKeyJoinField(org.eclipse.persistence.internal.helper.DatabaseField primaryKeyField,
org.eclipse.persistence.internal.helper.DatabaseField secondaryField)
INTERNAL:
Add a primary key join column (secondary field).
|
protected boolean |
allAggregateFieldsAreNull(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
INTERNAL:
Return whether all the aggregate fields in the specified
row are NULL.
|
void |
allowNull()
PUBLIC:
If all the fields in the database row for the aggregate object are NULL,
then, by default, the mapping will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
|
protected boolean |
backupAttributeValueIsNull(WriteObjectQuery query)
INTERNAL:
Return whether the query's backup object has an attribute
value of null.
|
Object |
buildAggregateFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
Object targetObject,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
boolean buildShallowOriginal,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean targetIsProtected)
INTERNAL:
Build and return an aggregate object from the specified row.
|
void |
buildClone(Object original,
org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey,
Object clone,
Integer refreshCascade,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
INTERNAL:
Clone the attribute from the original and assign it to the clone.
|
void |
buildCloneFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
Object clone,
org.eclipse.persistence.internal.identitymaps.CacheKey sharedCacheKey,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
INTERNAL:
A combination of readFromRowIntoObject and buildClone.
|
Object |
buildElementClone(Object attributeValue,
Object parent,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
Integer refreshCascade,
org.eclipse.persistence.internal.sessions.AbstractSession cloningSession,
boolean isExisting,
boolean isFromSharedCache)
INTERNAL:
Build a clone of the given element in a unitOfWork
|
Expression |
buildObjectJoinExpression(Expression expression,
Expression argument,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Used to allow object level comparisons.
|
Expression |
buildObjectJoinExpression(Expression expression,
Object value,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Used to allow object level comparisons.
|
ReadQuery |
buildSelectionQueryForDirectCollectionKeyMapping(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
INTERNAL:
Certain key mappings favor different types of selection query.
|
void |
buildShallowOriginalFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
Object original,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
INTERNAL:
Builds a shallow original object.
|
protected org.eclipse.persistence.internal.sessions.AbstractRecord |
buildTemplateInsertRow(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Build and return a "template" database row with all the fields
set to null.
|
protected org.eclipse.persistence.internal.identitymaps.CacheKey |
buildWrapperCacheKeyForAggregate(org.eclipse.persistence.internal.identitymaps.CacheKey owningCacheKey,
boolean targetIsProtected)
INTERNAL:
Wrap the aggregate represented by this mapping in a cachekey so it can be processed my
methods down the stack.
|
void |
cascadeDiscoverAndPersistUnregisteredNewObjects(Object object,
Map newObjects,
Map unregisteredExistingObjects,
Map visitedObjects,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
boolean getAttributeValueFromObject,
Set cascadeErrors)
INTERNAL:
Cascade discover and persist new objects during commit to the map key
|
void |
cascadePerformRemoveIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects)
INTERNAL:
Cascade perform delete through mappings that require the cascade
|
void |
cascadePerformRemoveIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects,
boolean getAttributeValueFromObject)
INTERNAL:
Cascade perform delete through mappings that require the cascade
|
void |
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(Object object,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow,
Map visitedObjects)
INTERNAL:
Cascade perform 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
|
Object |
clone()
INTERNAL:
Clone the aggregate to source field names.
|
protected Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
collectFields()
INTERNAL:
Return the fields handled by the mapping.
|
void |
collectQueryParameters(Set<org.eclipse.persistence.internal.helper.DatabaseField> record)
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
|
void |
convertClassNamesToClasses(ClassLoader classLoader)
INTERNAL:
Convert all the class-name-based settings in this mapping to actual
class-based settings.
|
Object |
createMapComponentFromJoinedRow(org.eclipse.persistence.internal.sessions.AbstractRecord dbRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManger,
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 and a join query is executed.
|
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.
|
List<Object> |
createMapComponentsFromSerializableKeyInfo(Object[] keyInfo,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Create an instance of the Key object from the key information extracted from the map.
|
QueryKey |
createQueryKeyForMapKey()
INTERNAL:
Create a query key that links to the map key
|
Object |
createSerializableMapKeyInfo(Object key,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Creates the Array of simple types used to recreate this map.
|
Object |
createStubbedMapComponentFromSerializableKeyInfo(Object keyInfo,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Create an instance of the Key object from the key information extracted from the map.
|
void |
deleteMapKey(Object objectDeleted,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For mappings used as MapKeys in MappedKeyContainerPolicy, Delete the passed object if necessary.
|
void |
dontAllowNull()
PUBLIC:
If all the fields in the database row for the aggregate object are NULL,
then, by default, the mapping will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
|
void |
earlyPreDelete(DeleteObjectQuery query,
Object object)
INTERNAL:
This method is called to update collection tables prior to commit.
|
Map |
extractIdentityFieldsForQuery(Object object,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract the fields for the Map key from the object to use in a query.
|
Expression |
getAdditionalSelectionCriteriaForMapKey()
INTERNAL:
Return the selection criteria necessary to select the target object when this mapping
is a map key.
|
List<org.eclipse.persistence.internal.helper.DatabaseTable> |
getAdditionalTablesForJoinQuery()
INTERNAL:
Return any tables that will be required when this mapping is used as part of a join query
|
Vector<Association> |
getAggregateToSourceFieldAssociations()
INTERNAL:
Return a collection of the aggregate to source field associations.
|
Map<String,org.eclipse.persistence.internal.helper.DatabaseField> |
getAggregateToSourceFields()
INTERNAL:
Return the hashtable that stores aggregate field name to source fields.
|
List<org.eclipse.persistence.internal.helper.DatabaseField> |
getAllFieldsForMapKey()
INTERNAL:
Get all the fields for the map key
|
Class |
getAttributeClassification()
PUBLIC:
The classification type for the attribute this mapping represents
|
Class |
getFieldClassification(org.eclipse.persistence.internal.helper.DatabaseField fieldToClassify)
INTERNAL:
Return the classification for the field contained in the mapping.
|
Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> |
getForeignKeyFieldsForMapKey()
INTERNAL:
Return a Map of any foreign keys defined within the the MapKey
|
List<org.eclipse.persistence.internal.helper.DatabaseField> |
getIdentityFieldsForMapKey()
INTERNAL:
Return the fields that make up the identity of the mapped object.
|
Object |
getMapKeyTargetType()
INTERNAL:
Return the class this key mapping maps or the descriptor for it
|
protected Object |
getMatchingAttributeValueFromObject(org.eclipse.persistence.internal.sessions.AbstractRecord row,
Object targetObject,
org.eclipse.persistence.internal.sessions.AbstractSession session,
ClassDescriptor descriptor)
INTERNAL:
This is used to preserve object identity during a refreshObject()
query.
|
protected Object |
getMatchingBackupAttributeValue(WriteObjectQuery query,
Object attributeValue)
INTERNAL:
This is used to match up objects during an update in a UOW.
|
Map<String,Object[]> |
getNestedFieldTranslations()
INTERNAL:
Return the hashtable that stores the nested field translations.
|
ObjectLevelReadQuery |
getNestedJoinQuery(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectLevelReadQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Return the query that is used when this mapping is part of a joined relationship
This method is used when this mapping is used to map the key in a Map
|
List<Expression> |
getOrderByNormalizedExpressions(Expression base)
INTERNAL:
Aggregate order by all their fields by default.
|
ClassDescriptor |
getReferenceDescriptor(Class theClass,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Since aggregate object mappings clone their descriptors, for inheritance the correct child clone must be found.
|
protected Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getReferenceFields()
INTERNAL:
Return the fields used to build the aggregate object.
|
Object |
getTargetVersionOfSourceObject(Object object,
Object parent,
org.eclipse.persistence.internal.sessions.MergeManager mergeManager,
org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
INTERNAL:
If required, get the targetVersion of the source object from the merge manager.
|
boolean |
hasDependency()
INTERNAL:
Return if the mapping has any ownership or other dependency over its target object(s).
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For an aggregate mapping the reference descriptor is cloned.
|
void |
initializeChildInheritance(ClassDescriptor parentDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For an aggregate mapping the reference descriptor is cloned.
|
void |
initializeParentInheritance(ClassDescriptor parentDescriptor,
ClassDescriptor childDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For an aggregate mapping the reference descriptor is cloned.
|
protected void |
initializeReferenceDescriptor(ClassDescriptor clonedDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Initialize the cloned reference descriptor with table names and primary keys
|
boolean |
isAggregateObjectMapping()
INTERNAL:
Related mapping should implement this method to return true.
|
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 |
isJPAIdNested(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Flags that either this mapping or nested mapping is a JPA id mapping.
|
boolean |
isLockableMapping()
INTERNAL:
Return whether this mapping should be traversed when we are locking
|
boolean |
isNullAllowed()
PUBLIC:
Return if all the fields in the database row for the aggregate object are NULL,
then, by default, the mapping will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
|
boolean |
isRelationalMapping()
INTERNAL:
|
void |
iterateOnMapKey(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
Object element)
INTERNAL:
Called when iterating through descriptors to handle iteration on this mapping when it is used as a MapKey
|
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
For an aggregate mapping the reference descriptor is cloned.
|
void |
postInitializeMapKey(org.eclipse.persistence.internal.queries.MappedKeyMapContainerPolicy policy)
INTERNAL:
Making any mapping changes necessary to use a the mapping as a map key after initializing the mapping.
|
void |
preinitializeMapKey(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
Making any mapping changes necessary to use a the mapping as a map key prior to initializing the mapping
|
ObjectBuildingQuery |
prepareNestedQuery(ObjectBuildingQuery sourceQuery)
INTERNAL:
Clone and prepare the selection query as a nested batch read query.
|
Object |
readFromReturnRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord row,
Object targetObject,
ReadObjectQuery query,
Collection handledMappings,
org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet)
INTERNAL:
Build an aggregate object from the specified return row and put it
in the specified target object.
|
Object |
readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
Object targetObject,
org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession,
boolean isTargetProtected)
INTERNAL:
Build an aggregate object from the specified row and put it
in the specified target object.
|
void |
rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Rehash any hashtables based on fields.
|
boolean |
requiresDataModificationEventsForMapKey()
INTERNAL:
Return whether this mapping requires extra queries to update the rows if it is
used as a key in a map.
|
void |
setAggregateToSourceFieldAssociations(Vector<Association> fieldAssociations)
INTERNAL:
Set a collection of the aggregate to source field name associations.
|
void |
setAggregateToSourceFields(Map<String,org.eclipse.persistence.internal.helper.DatabaseField> aggregateToSource)
INTERNAL:
Set the hashtable that stores target field name to the source field name.
|
void |
setChangeListener(Object clone,
PropertyChangeListener listener,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
INTERNAL:
Set the change listener in the aggregate.
|
void |
setIsNullAllowed(boolean isNullAllowed)
PUBLIC:
Configure if all the fields in the database row for the aggregate object are NULL,
then, by default, the mapping will place a null in the appropriate source object
(as opposed to an aggregate object filled with nulls).
|
void |
setNestedFieldTranslations(Map<String,Object[]> fieldTranslations)
INTERNAL:
Set the hashtable that stores a field in the source table
to a field name in a nested aggregate descriptor.
|
void |
setTableForAggregateMappingKey(org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
If this mapping is used as the key of a CollectionTableMapMapping, the table used by this
mapping will be the relation table.
|
protected void |
translateField(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
org.eclipse.persistence.internal.helper.DatabaseField mappingField,
ClassDescriptor clonedDescriptor)
INTERNAL:
Apply the field translation from the sourceField to the mappingField.
|
protected void |
translateFields(ClassDescriptor clonedDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
If field names are different in the source and aggregate objects then the translation
is done here.
|
protected void |
translateNestedFields(ClassDescriptor clonedDescriptor,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
If field names are different in the source and aggregate objects then the translation
is done here.
|
Object |
unwrapKey(Object key,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow the key mapping to unwrap the object.
|
Object |
valueFromObject(Object object,
org.eclipse.persistence.internal.helper.DatabaseField field,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Extract value of the field from the object
|
Object |
wrapKey(Object key,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Allow the key mapping to wrap the object.
|
void |
writeFromAttributeIntoRow(Object attribute,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
A subclass should implement this method if it wants different behavior.
|
void |
writeFromObjectIntoRow(Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Get the attribute value from the object and add the appropriate
values to the specified database row.
|
void |
writeFromObjectIntoRowForShallowInsert(Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This row is built for shallow insert which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForUpdate(WriteObjectQuery query,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
INTERNAL:
Get the attribute value from the object and add the changed
values to the specified database row.
|
void |
writeFromObjectIntoRowForUpdateAfterShallowInsert(Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
This row is built for update after shallow insert which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowForUpdateBeforeShallowDelete(Object object,
org.eclipse.persistence.internal.sessions.AbstractRecord row,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
This row is built for update before shallow delete which happens in case of bidirectional inserts.
|
void |
writeFromObjectIntoRowWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Get the attribute value from the object and add the appropriate
values to the specified database row.
|
void |
writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write fields needed for insert into the template for with null values.
|
protected void |
writeNullReferenceRow(org.eclipse.persistence.internal.sessions.AbstractRecord record)
INTERNAL:
Write null values for all aggregate fields into the parent row.
|
protected void |
writeToRowFromAggregate(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Write the aggregate values into the parent row.
|
protected void |
writeToRowFromAggregateForShallowInsert(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write the aggregate values into the parent row for shallow insert.
|
protected void |
writeToRowFromAggregateForUpdate(org.eclipse.persistence.internal.sessions.AbstractRecord record,
WriteObjectQuery query,
Object attributeValue)
INTERNAL:
Build and return a database row built with the changed values from
the specified attribute value.
|
protected void |
writeToRowFromAggregateForUpdateAfterShallowInsert(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
Write the aggregate values into the parent row for update after shallow insert.
|
protected void |
writeToRowFromAggregateForUpdateBeforeShallowDelete(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
INTERNAL:
Write the aggregate values into the parent row for update before shallow delete.
|
protected void |
writeToRowFromAggregateWithChangeRecord(org.eclipse.persistence.internal.sessions.AbstractRecord record,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
INTERNAL:
Build and return a database row built with the values from
the specified attribute value.
|
void |
writeUpdateFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Write fields needed for update into the template for with null values.
|
buildAggregateDeleteQuery, buildAggregateModifyQuery, buildAggregateWriteQuery, buildBackupClone, buildBackupClonePart, buildClonePart, buildClonePart, buildCopy, buildCopyOfAttributeValue, buildExpression, buildNewMergeInstanceOf, compareAttributeValues, compareForChange, compareObjects, executeEvent, fixAttributeValue, fixObjectReferences, getAttributeValueFromBackupClone, getObjectBuilder, getObjectBuilderForClass, getQueryManager, getReferenceClass, getReferenceClassName, getReferenceDescriptor, getReferenceDescriptor, hasNestedIdentityReference, isAggregateMapping, iterate, iterateOnAttributeValue, load, loadAll, mergeAttributeValue, mergeChangesIntoObject, mergeIntoObject, postDelete, postDeleteAttributeValue, postInsert, postInsertAttributeValue, postUpdate, postUpdateAttributeValue, preDelete, preDeleteAttributeValue, preInsert, preInsertAttributeValue, preUpdate, preUpdateAttributeValue, remoteInitialization, setReferenceClass, setReferenceClassName, setReferenceDescriptor, updateChangeRecord, verifyDelete, verifyDeleteOfAttributeValueaddUnconvertedProperty, buildBackupCloneForPartObject, buildChangeRecord, buildCloneForPartObject, buildContainerClone, calculateDeferredChanges, cascadeDiscoverAndPersistUnregisteredNewObjects, cloneFields, convertConverterClassNamesToClasses, createCloneValueHolder, derivesId, extractNestedExpressions, extractNestedNonAggregateExpressions, fixRealObjectReferences, getAttributeAccessor, getAttributeName, getAttributeValueFromObject, getContainerPolicy, getDerivedIdMapping, getDescriptor, getField, getFields, getGetMethodName, getMapsIdValue, getObjectCorrespondingTo, getProperties, getProperty, getRealAttributeValueFromAttribute, getRealAttributeValueFromObject, getRealCollectionAttributeValueFromObject, getRelationshipPartner, getSelectFields, getSelectTables, getSetMethodName, getUnconvertedProperties, getValueFromRemoteValueHolder, getWeight, hasConstraintDependency, hasInverseConstraintDependency, hasMapsIdValue, hasRootExpressionThatShouldUseOuterJoin, hasUnconvertedProperties, instantiateAttribute, isAbstractColumnMapping, isAbstractCompositeCollectionMapping, isAbstractCompositeDirectCollectionMapping, isAbstractCompositeObjectMapping, isAbstractDirectMapping, isAggregateCollectionMapping, isAttributeValueFromObjectInstantiated, isCacheable, isCandidateForPrivateOwnedRemoval, isCloningRequired, isCollectionMapping, isDatabaseMapping, isDirectCollectionMapping, isDirectMapMapping, isDirectToFieldMapping, isDirectToXMLTypeMapping, isEISMapping, isElementCollectionMapping, isForeignReferenceMapping, isInAndOutSopObject, isInOnlySopObject, isInSopObject, isJoiningSupported, isJPAId, isLazy, isManyToManyMapping, isManyToOneMapping, isMapKeyMapping, isMultitenantPrimaryKeyMapping, isNestedTableMapping, isObjectReferenceMapping, isOneToManyMapping, isOneToOneMapping, isOptional, isOutOnlySopObject, isOutSopObject, isOwned, isPrimaryKeyMapping, isPrivateOwned, isReadOnly, isReferenceMapping, isRemotelyInitialized, isStructureMapping, isTransformationMapping, isUnidirectionalOneToManyMapping, isUsingMethodAccess, isVariableOneToOneMapping, isWriteOnly, isXMLMapping, iterateOnRealAttributeValue, performDataModificationEvent, postCalculateChanges, postCalculateChangesOnDeleted, postInitializeSourceAndTargetExpressions, preInitialize, prepareCascadeLockingPolicy, readFromResultSetIntoObject, readOnly, readWrite, recordPrivateOwnedRemovals, remotelyInitialized, replaceValueHoldersIn, setAttributeAccessor, setAttributeName, setAttributeValueInObject, setDerivedIdMapping, setDerivesId, setDescriptor, setFields, setGetMethodName, setIsCacheable, setIsInAndOutSopObject, setIsInSopObject, setIsJPAId, setIsLazy, setIsMapKeyMapping, setIsOptional, setIsOutSopObject, setIsPrimaryKeyMapping, setIsReadOnly, setMapsIdValue, setProperties, setProperty, setRealAttributeValueInObject, setSetMethodName, setWeight, simpleAddToCollectionChangeRecord, simpleRemoveFromCollectionChangeRecord, toString, updateCollectionChangeRecord, validateAfterInitialization, validateBeforeInitialization, valueFromResultSet, valueFromRow, valueFromRow, writeFromObjectIntoRowForShallowInsertWithChangeRecord, writeFromObjectIntoRowForWhereClauseequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetReferenceDescriptorgetAttributeNameprotected boolean isNullAllowed
protected org.eclipse.persistence.internal.helper.DatabaseTable aggregateKeyTable
protected Map<String,org.eclipse.persistence.internal.helper.DatabaseField> aggregateToSourceFields
protected Map<String,Object[]> nestedFieldTranslations
protected List<ManyToManyMapping> overrideManyToManyMappings
protected List<UnidirectionalOneToManyMapping> overrideUnidirectionalOneToManyMappings
protected Map<String,Converter> converters
protected List<DatabaseMapping> mapsIdMappings
public boolean isRelationalMapping()
isRelationalMapping in class DatabaseMappingpublic void addAdditionalFieldsToQuery(ReadQuery selectionQuery, Expression baseExpression)
addAdditionalFieldsToQuery in interface MapKeyMappingpublic void addConverter(Converter converter, String attributeName)
addConverter in interface EmbeddableMappingpublic void addFieldsForMapKey(org.eclipse.persistence.internal.sessions.AbstractRecord joinRow)
addFieldsForMapKey in interface MapKeyMappingpublic void addFieldNameTranslation(String sourceFieldName, String aggregateFieldName)
public void addFieldTranslation(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
String aggregateFieldName)
addFieldTranslation in interface EmbeddableMappingpublic void addMapsIdMapping(DatabaseMapping mapping)
public void addNestedFieldTranslation(String attributeName, org.eclipse.persistence.internal.helper.DatabaseField sourceField, String aggregateFieldName)
addNestedFieldTranslation in interface EmbeddableMappingpublic void addOverrideManyToManyMapping(ManyToManyMapping mapping)
addOverrideManyToManyMapping in interface EmbeddableMappingpublic void addOverrideUnidirectionalOneToManyMapping(UnidirectionalOneToManyMapping mapping)
addOverrideUnidirectionalOneToManyMapping in interface EmbeddableMappingpublic void addKeyToDeletedObjectsList(Object object, Map deletedObjects)
addKeyToDeletedObjectsList in interface MapKeyMappingobject - deletedObjects - protected boolean allAggregateFieldsAreNull(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow)
public void allowNull()
protected boolean backupAttributeValueIsNull(WriteObjectQuery query)
public ObjectBuildingQuery prepareNestedQuery(ObjectBuildingQuery sourceQuery)
public Object buildAggregateFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, boolean buildShallowOriginal, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean targetIsProtected) throws DatabaseException
DatabaseExceptionprotected org.eclipse.persistence.internal.identitymaps.CacheKey buildWrapperCacheKeyForAggregate(org.eclipse.persistence.internal.identitymaps.CacheKey owningCacheKey,
boolean targetIsProtected)
owningCacheKey - - the cache key holding the object to extract the aggregate fromprotected void writeNullReferenceRow(org.eclipse.persistence.internal.sessions.AbstractRecord record)
public Expression buildObjectJoinExpression(Expression expression, Object value, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildObjectJoinExpression in class DatabaseMappingpublic Expression buildObjectJoinExpression(Expression expression, Expression argument, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildObjectJoinExpression in class DatabaseMappingprotected void writeToRowFromAggregate(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
throws DescriptorException
DescriptorExceptionprotected void writeToRowFromAggregateForShallowInsert(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
DescriptorExceptionprotected void writeToRowFromAggregateForUpdateAfterShallowInsert(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
throws DescriptorException
DescriptorExceptionprotected void writeToRowFromAggregateForUpdateBeforeShallowDelete(org.eclipse.persistence.internal.sessions.AbstractRecord record,
Object object,
Object attributeValue,
org.eclipse.persistence.internal.sessions.AbstractSession session,
org.eclipse.persistence.internal.helper.DatabaseTable table)
throws DescriptorException
DescriptorExceptionprotected void writeToRowFromAggregateWithChangeRecord(org.eclipse.persistence.internal.sessions.AbstractRecord record,
org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
throws DescriptorException
DescriptorExceptionprotected void writeToRowFromAggregateForUpdate(org.eclipse.persistence.internal.sessions.AbstractRecord record,
WriteObjectQuery query,
Object attributeValue)
throws DescriptorException
DescriptorExceptionpublic void buildClone(Object original, org.eclipse.persistence.internal.identitymaps.CacheKey cacheKey, Object clone, Integer refreshCascade, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession)
buildClone in class AggregateMappingpublic Object buildElementClone(Object attributeValue, Object parent, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, Integer refreshCascade, org.eclipse.persistence.internal.sessions.AbstractSession cloningSession, boolean isExisting, boolean isFromSharedCache)
buildElementClone in interface MapKeyMappingattributeValue - parent - parentCacheKey - refreshCascade - cloningSession - isExisting - isFromSharedCache - public void setChangeListener(Object clone, PropertyChangeListener listener, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow)
setChangeListener in class DatabaseMappingpublic void buildCloneFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
Object clone,
org.eclipse.persistence.internal.identitymaps.CacheKey sharedCacheKey,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
buildClone assumes the attribute value exists on the original and can simply be copied.
readFromRowIntoObject assumes that one is building an original.
Both of the above assumptions are false in this method, and actually attempts to do both at the same time.
Extract value from the row and set the attribute to this value in the working copy clone. In order to bypass the shared cache when in transaction a UnitOfWork must be able to populate working copies directly from the row.
buildCloneFromRow in class AggregateMappingpublic void buildShallowOriginalFromRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
Object original,
org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
org.eclipse.persistence.internal.sessions.AbstractSession executionSession)
buildShallowOriginalFromRow in class DatabaseMappingpublic ReadQuery buildSelectionQueryForDirectCollectionKeyMapping(org.eclipse.persistence.internal.queries.ContainerPolicy containerPolicy)
buildSelectionQueryForDirectCollectionKeyMapping in interface MapKeyMappingprotected org.eclipse.persistence.internal.sessions.AbstractRecord buildTemplateInsertRow(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void cascadeDiscoverAndPersistUnregisteredNewObjects(Object object, Map newObjects, Map unregisteredExistingObjects, Map visitedObjects, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, boolean getAttributeValueFromObject, Set cascadeErrors)
cascadeDiscoverAndPersistUnregisteredNewObjects in interface MapKeyMappingpublic void cascadePerformRemoveIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects, boolean getAttributeValueFromObject)
cascadePerformRemoveIfRequired in interface MapKeyMappingpublic void cascadePerformRemoveIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadePerformRemoveIfRequired in class DatabaseMappingpublic void cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadePerformRemovePrivateOwnedObjectFromChangeSetIfRequired in class DatabaseMappingpublic void cascadeRegisterNewIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects, boolean getAttributeValueFromObject)
cascadeRegisterNewIfRequired in interface MapKeyMappingpublic void cascadeRegisterNewIfRequired(Object object, org.eclipse.persistence.internal.sessions.UnitOfWorkImpl uow, Map visitedObjects)
cascadeRegisterNewIfRequired in class DatabaseMappingpublic Object clone()
clone in interface MapComponentMappingclone in class DatabaseMappingprotected Vector<org.eclipse.persistence.internal.helper.DatabaseField> collectFields()
collectFields in class DatabaseMappingpublic List<Expression> getOrderByNormalizedExpressions(Expression base)
getOrderByNormalizedExpressions in class DatabaseMappingpublic void collectQueryParameters(Set<org.eclipse.persistence.internal.helper.DatabaseField> record)
collectQueryParameters in class DatabaseMappingpublic void convertClassNamesToClasses(ClassLoader classLoader)
convertClassNamesToClasses in class AggregateMappingclassLoader - public 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 MapComponentMappingpublic Object createSerializableMapKeyInfo(Object key, org.eclipse.persistence.internal.sessions.AbstractSession session)
createSerializableMapKeyInfo in interface MapKeyMappingpublic List<Object> createMapComponentsFromSerializableKeyInfo(Object[] keyInfo, org.eclipse.persistence.internal.sessions.AbstractSession session)
createMapComponentsFromSerializableKeyInfo in interface MapKeyMappingpublic Object createStubbedMapComponentFromSerializableKeyInfo(Object keyInfo, org.eclipse.persistence.internal.sessions.AbstractSession session)
createStubbedMapComponentFromSerializableKeyInfo in interface MapKeyMappingpublic Object createMapComponentFromJoinedRow(org.eclipse.persistence.internal.sessions.AbstractRecord dbRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManger, ObjectBuildingQuery query, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, org.eclipse.persistence.internal.sessions.AbstractSession session, boolean isTargetProtected)
createMapComponentFromJoinedRow in interface MapKeyMappingpublic QueryKey createQueryKeyForMapKey()
createQueryKeyForMapKey in interface MapKeyMappingpublic void deleteMapKey(Object objectDeleted, org.eclipse.persistence.internal.sessions.AbstractSession session)
deleteMapKey in interface MapKeyMappingobjectDeleted - session - public void dontAllowNull()
public void earlyPreDelete(DeleteObjectQuery query, Object object)
earlyPreDelete in class DatabaseMappingpublic Map extractIdentityFieldsForQuery(Object object, org.eclipse.persistence.internal.sessions.AbstractSession session)
extractIdentityFieldsForQuery in interface MapKeyMappingpublic List<org.eclipse.persistence.internal.helper.DatabaseTable> getAdditionalTablesForJoinQuery()
getAdditionalTablesForJoinQuery in interface MapKeyMappingpublic Expression getAdditionalSelectionCriteriaForMapKey()
getAdditionalSelectionCriteriaForMapKey in interface MapKeyMappingpublic Vector<Association> getAggregateToSourceFieldAssociations()
public Map<String,org.eclipse.persistence.internal.helper.DatabaseField> getAggregateToSourceFields()
public Map<String,Object[]> getNestedFieldTranslations()
public Class getAttributeClassification()
getAttributeClassification in class DatabaseMappingpublic Class getFieldClassification(org.eclipse.persistence.internal.helper.DatabaseField fieldToClassify)
getFieldClassification in class DatabaseMappingpublic List<org.eclipse.persistence.internal.helper.DatabaseField> getIdentityFieldsForMapKey()
getIdentityFieldsForMapKey in interface MapKeyMappingpublic List<org.eclipse.persistence.internal.helper.DatabaseField> getAllFieldsForMapKey()
getAllFieldsForMapKey in interface MapKeyMappingpublic Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField> getForeignKeyFieldsForMapKey()
getForeignKeyFieldsForMapKey in interface MapKeyMappingprotected Object getMatchingAttributeValueFromObject(org.eclipse.persistence.internal.sessions.AbstractRecord row, Object targetObject, org.eclipse.persistence.internal.sessions.AbstractSession session, ClassDescriptor descriptor)
protected Object getMatchingBackupAttributeValue(WriteObjectQuery query, Object attributeValue)
public ObjectLevelReadQuery getNestedJoinQuery(org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, ObjectLevelReadQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
getNestedJoinQuery in interface MapKeyMappingpublic ClassDescriptor getReferenceDescriptor(Class theClass, org.eclipse.persistence.internal.sessions.AbstractSession session)
getReferenceDescriptor in class AggregateMappingprotected Vector<org.eclipse.persistence.internal.helper.DatabaseField> getReferenceFields()
public Object getTargetVersionOfSourceObject(Object object, Object parent, org.eclipse.persistence.internal.sessions.MergeManager mergeManager, org.eclipse.persistence.internal.sessions.AbstractSession targetSession)
getTargetVersionOfSourceObject in interface MapKeyMappingpublic Object getMapKeyTargetType()
getMapKeyTargetType in interface MapKeyMappingpublic boolean hasDependency()
hasDependency in class DatabaseMappingpublic void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
initialize in class AggregateMappingDescriptorExceptionpublic void initializeChildInheritance(ClassDescriptor parentDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorExceptionpublic void initializeParentInheritance(ClassDescriptor parentDescriptor, ClassDescriptor childDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorExceptionprotected void initializeReferenceDescriptor(ClassDescriptor clonedDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session)
public void iterateOnMapKey(org.eclipse.persistence.internal.descriptors.DescriptorIterator iterator,
Object element)
iterateOnMapKey in interface MapKeyMappingiterator - element - public boolean isLockableMapping()
isLockableMapping in class DatabaseMappingpublic boolean isAggregateObjectMapping()
isAggregateObjectMapping in class DatabaseMappingpublic boolean isChangeTrackingSupported(Project project)
isChangeTrackingSupported in class DatabaseMappingpublic boolean isCascadedLockingSupported()
isCascadedLockingSupported in class DatabaseMappingpublic boolean isJPAIdNested(org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean isNullAllowed()
public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
postInitialize in class DatabaseMappingDescriptorExceptionpublic void preinitializeMapKey(org.eclipse.persistence.internal.helper.DatabaseTable table)
preinitializeMapKey in interface MapKeyMappingpublic void postInitializeMapKey(org.eclipse.persistence.internal.queries.MappedKeyMapContainerPolicy policy)
postInitializeMapKey in interface MapKeyMappingpublic Object readFromReturnRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord row, Object targetObject, ReadObjectQuery query, Collection handledMappings, org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet) throws DatabaseException
DatabaseExceptionpublic Object readFromRowIntoObject(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.queries.JoinedAttributeManager joinManager, Object targetObject, org.eclipse.persistence.internal.identitymaps.CacheKey parentCacheKey, ObjectBuildingQuery sourceQuery, org.eclipse.persistence.internal.sessions.AbstractSession executionSession, boolean isTargetProtected) throws DatabaseException
readFromRowIntoObject in class DatabaseMappingDatabaseExceptionpublic void rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
rehashFieldDependancies in class DatabaseMappingpublic boolean requiresDataModificationEventsForMapKey()
requiresDataModificationEventsForMapKey in interface MapKeyMappingpublic void setAggregateToSourceFieldAssociations(Vector<Association> fieldAssociations)
public void setAggregateToSourceFields(Map<String,org.eclipse.persistence.internal.helper.DatabaseField> aggregateToSource)
public void setNestedFieldTranslations(Map<String,Object[]> fieldTranslations)
public void setIsNullAllowed(boolean isNullAllowed)
public void setTableForAggregateMappingKey(org.eclipse.persistence.internal.helper.DatabaseTable table)
protected void translateField(org.eclipse.persistence.internal.helper.DatabaseField sourceField,
org.eclipse.persistence.internal.helper.DatabaseField mappingField,
ClassDescriptor clonedDescriptor)
protected void translateNestedFields(ClassDescriptor clonedDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void translateFields(ClassDescriptor clonedDescriptor, org.eclipse.persistence.internal.sessions.AbstractSession session)
public Object unwrapKey(Object key, org.eclipse.persistence.internal.sessions.AbstractSession session)
unwrapKey in interface MapKeyMappingpublic Object wrapKey(Object key, org.eclipse.persistence.internal.sessions.AbstractSession session)
wrapKey in interface MapKeyMappingpublic void writeFromAttributeIntoRow(Object attribute, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
writeFromAttributeIntoRow in class DatabaseMappingpublic Object valueFromObject(Object object, org.eclipse.persistence.internal.helper.DatabaseField field, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
valueFromObject in class DatabaseMappingDescriptorExceptionpublic void writeFromObjectIntoRow(Object object, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow, org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseMapping.WriteType writeType) throws DescriptorException
writeFromObjectIntoRow in class DatabaseMappingDescriptorExceptionpublic void writeFromObjectIntoRowForShallowInsert(Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session)
writeFromObjectIntoRowForShallowInsert in class DatabaseMappingpublic void writeFromObjectIntoRowForUpdateAfterShallowInsert(Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseTable table)
writeFromObjectIntoRowForUpdateAfterShallowInsert in class DatabaseMappingpublic void writeFromObjectIntoRowForUpdateBeforeShallowDelete(Object object, org.eclipse.persistence.internal.sessions.AbstractRecord row, org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.helper.DatabaseTable table)
writeFromObjectIntoRowForUpdateBeforeShallowDelete in class DatabaseMappingpublic void writeFromObjectIntoRowWithChangeRecord(org.eclipse.persistence.internal.sessions.ChangeRecord changeRecord,
org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session,
DatabaseMapping.WriteType writeType)
throws DescriptorException
writeFromObjectIntoRowWithChangeRecord in class DatabaseMappingDescriptorExceptionpublic void writeFromObjectIntoRowForUpdate(WriteObjectQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow) throws DescriptorException
writeFromObjectIntoRowForUpdate in class DatabaseMappingDescriptorExceptionpublic void writeInsertFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
writeInsertFieldsIntoRow in class DatabaseMappingpublic void writeUpdateFieldsIntoRow(org.eclipse.persistence.internal.sessions.AbstractRecord databaseRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
DatabaseMappingwriteUpdateFieldsIntoRow in class DatabaseMappingpublic void addPrimaryKeyJoinField(org.eclipse.persistence.internal.helper.DatabaseField primaryKeyField,
org.eclipse.persistence.internal.helper.DatabaseField secondaryField)
Copyright © 2007–2021 Eclipse.org - EclipseLink Project. All rights reserved.