|
EclipseLink 1.0_1.0M2 API Reference - Incubation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.mappings.DatabaseMapping
org.eclipse.persistence.mappings.ForeignReferenceMapping
org.eclipse.persistence.mappings.ObjectReferenceMapping
org.eclipse.persistence.mappings.OneToOneMapping
public class OneToOneMapping
Purpose: One to one mappings are used to represent a pointer references between two java objects. This mappings is usually represented by a single pointer (stored in an instance variable) between the source and target objects. In the relational database tables, these mappings are normally implemented using foreign keys.
Field Summary | |
---|---|
protected Expression |
privateOwnedCriteria
|
protected boolean |
shouldVerifyDelete
These are used for non-unit of work modification to check if the value of the 1-1 was changed and a deletion is required. |
protected java.util.Map<DatabaseField,DatabaseField> |
sourceToTargetKeyFields
Maps the source foreign/primary key fields to the target primary/foreign key fields. |
protected java.util.Map<DatabaseField,DatabaseField> |
targetToSourceKeyFields
Maps the target primary/foreign key fields to the source foreign/primary key fields. |
Fields inherited from class org.eclipse.persistence.mappings.ObjectReferenceMapping |
---|
foreignKeyFields, isForeignKeyRelationship |
Fields inherited from class org.eclipse.persistence.mappings.ForeignReferenceMapping |
---|
cascadeMerge, cascadePersist, cascadeRefresh, cascadeRemove, hasCustomSelectionQuery, indirectionPolicy, INNER_JOIN, isPrivateOwned, joinFetch, NONE, OUTER_JOIN, referenceClass, referenceClassName, referenceDescriptor, relationshipPartner, relationshipPartnerAttributeName, selectionQuery, tempInitSession, usesBatchReading |
Fields inherited from class org.eclipse.persistence.mappings.DatabaseMapping |
---|
attributeAccessor, attributeName, descriptor, fields, isLazy, isOptional, isReadOnly, isRemotelyInitialized, NO_FIELDS, NO_WEIGHT, primaryKeyMapping, properties, weight, WEIGHT_1 |
Constructor Summary | |
---|---|
OneToOneMapping()
PUBLIC: Default constructor. |
Method Summary | |
---|---|
void |
addForeignKeyField(DatabaseField sourceForeignKeyField,
DatabaseField targetPrimaryKeyField)
PUBLIC: Define the foreign key relationship in the 1-1 mapping. |
void |
addForeignKeyFieldName(java.lang.String sourceForeignKeyFieldName,
java.lang.String targetPrimaryKeyFieldName)
PUBLIC: Define the foreign key relationship in the 1-1 mapping. |
void |
addTargetForeignKeyField(DatabaseField targetForeignKeyField,
DatabaseField sourcePrimaryKeyField)
PUBLIC: Define the target foreign key relationship in the 1-1 mapping. |
void |
addTargetForeignKeyFieldName(java.lang.String targetForeignKeyFieldName,
java.lang.String sourcePrimaryKeyFieldName)
PUBLIC: Define the target foreign key relationship in the 1-1 mapping. |
Expression |
buildObjectJoinExpression(Expression expression,
Expression argument,
AbstractSession session)
INTERNAL: Used to allow object level comparisons. |
Expression |
buildObjectJoinExpression(Expression expression,
java.lang.Object value,
AbstractSession session)
INTERNAL: Used to allow object level comparisons. |
Expression |
buildSelectionCriteria()
This method would allow customers to get the potential selection criteria for a mapping prior to initialization. |
void |
buildShallowOriginalFromRow(AbstractRecord databaseRow,
java.lang.Object original,
JoinedAttributeManager joinManager,
ObjectBuildingQuery query,
AbstractSession executionSession)
INTERNAL: Builds a shallow original object. |
java.lang.Object |
clone()
INTERNAL: This methods clones all the fields and ensures that each collection refers to the same clones. |
void |
dontUseJoining()
Deprecated. since OracleAS TopLink 11g (11.1.1.0.0). This class is replaced by org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int) |
protected java.util.Vector |
extractForeignKeyFromRow(AbstractRecord row,
AbstractSession session)
INTERNAL: Extract the foreign key value from the source row. |
protected java.util.Vector |
extractKeyFromReferenceObject(java.lang.Object object,
AbstractSession session)
INTERNAL: Extract the key value from the reference object. |
java.util.Vector |
extractPrimaryKeysForReferenceObjectFromRow(AbstractRecord row)
INTERNAL: Return the primary key for the reference object (i.e. the object object referenced by domainObject and specified by mapping). |
java.lang.Object |
extractResultFromBatchQuery(DatabaseQuery query,
AbstractRecord databaseRow,
AbstractSession session,
AbstractRecord argumentRow)
INTERNAL: Extract the value from the batch optmized query. |
java.lang.Class |
getFieldClassification(DatabaseField fieldToClassify)
INTERNAL: Return the classifiction for the field contained in the mapping. |
java.util.Vector |
getForeignKeyFieldNames()
PUBLIC: Return the foreign key field names associated with the mapping. |
protected java.util.Map |
getForeignKeysToPrimaryKeys()
Return the appropriate hashtable that maps the "foreign keys" to the "primary keys". |
java.util.Vector |
getOrderedForeignKeyFields()
INTERNAL: Return a vector of the foreign key fields in the same order as the corresponding primary key fields are in their descriptor. |
protected ClassDescriptor |
getPrimaryKeyDescriptor()
Return the descriptor for whichever side of the relation has the "primary key". |
Expression |
getPrivateOwnedCriteria()
INTERNAL: The private owned criteria is only used outside of the unit of work to compare the previous value of the reference. |
java.util.Vector |
getSourceToTargetKeyFieldAssociations()
INTERNAL: Return a collection of the source to target field value associations. |
java.util.Map<DatabaseField,DatabaseField> |
getSourceToTargetKeyFields()
INTERNAL: Returns the source keys to target keys fields association. |
java.util.Map<DatabaseField,DatabaseField> |
getTargetToSourceKeyFields()
INTERNAL: Returns the target keys to source keys fields association. |
void |
initialize(AbstractSession session)
INTERNAL: Initialize the mapping. |
protected void |
initializeForeignKeys(AbstractSession session)
INTERNAL: The foreign keys primary keys are stored as database fields in the hashtable. |
protected void |
initializeForeignKeysWithDefaults(AbstractSession session)
INTERNAL: The foreign keys primary keys are stored as database fields in the hashtable. |
protected void |
initializePrivateOwnedCriteria()
INTERNAL: Selection criteria is created with source foreign keys and target keys. |
protected void |
initializeSelectionCriteria(AbstractSession session)
INTERNAL: Selection criteria is created with source foreign keys and target keys. |
boolean |
isCascadedLockingSupported()
INTERNAL Return true if this mapping supports cascaded version optimistic locking. |
boolean |
isJoiningSupported()
INTERNAL: Return if this mapping support joining. |
boolean |
isOneToOneMapping()
INTERNAL: |
boolean |
isRelationalMapping()
INTERNAL: |
protected void |
postPrepareNestedBatchQuery(ReadQuery batchQuery,
ReadAllQuery query)
INTERNAL: Allow the mapping the do any further batch preparation. |
void |
prepareCascadeLockingPolicy()
INTERNAL: Prepare a cascade locking policy. |
protected java.lang.Object |
readPrivateOwnedForObject(ObjectLevelModifyQuery modifyQuery)
INTERNAL: Reads the private owned object. |
void |
rehashFieldDependancies(AbstractSession session)
INTERNAL: Rehash any hashtables based on fields. |
void |
setForeignKeyFieldName(java.lang.String sourceForeignKeyFieldName)
PUBLIC: Define the foreign key relationship in the 1-1 mapping. |
void |
setForeignKeyFieldNames(java.util.Vector fieldNames)
PUBLIC: Return the foreign key field names associated with the mapping. |
protected void |
setPrivateOwnedCriteria(Expression expression)
INTERNAL: Private owned criteria is used to verify the deletion of the target. |
void |
setShouldVerifyDelete(boolean shouldVerifyDelete)
PUBLIC: Verify delete is used during delete and update on private 1:1's outside of a unit of work only. |
void |
setSourceToTargetKeyFieldAssociations(java.util.Vector sourceToTargetKeyFieldAssociations)
INTERNAL: Set a collection of the source to target field associations. |
void |
setSourceToTargetKeyFields(java.util.Map<DatabaseField,DatabaseField> sourceToTargetKeyFields)
INTERNAL: Set the source keys to target keys fields association. |
void |
setTargetForeignKeyFieldName(java.lang.String targetForeignKeyFieldName)
PUBLIC: Define the target foreign key relationship in the 1-1 mapping. |
void |
setTargetToSourceKeyFields(java.util.Map<DatabaseField,DatabaseField> targetToSourceKeyFields)
INTERNAL: Set the target keys to source keys fields association. |
void |
setUsesJoining(boolean usesJoining)
Deprecated. since OracleAS TopLink 11g (11.1.1.0.0). This class is replaced by org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int) |
boolean |
shouldUseJoining()
Deprecated. since OracleAS TopLink 11g (11.1.1.0.0). This class is replaced by org.eclipse.persistence.mappings.ForeignReferenceMapping.getJoinFetch() |
boolean |
shouldVerifyDelete()
PUBLIC: Verify delete is used during delete and update outside of a unit of work only. |
void |
useJoining()
Deprecated. since OracleAS TopLink 11g (11.1.1.0.0). This class is replaced by org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int) |
java.lang.Object |
valueFromObject(java.lang.Object object,
DatabaseField field,
AbstractSession session)
INTERNAL: Get a value from the object and set that in the respective field of the row. |
protected java.lang.Object |
valueFromRowInternal(AbstractRecord row,
JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
AbstractSession executionSession)
INTERNAL: Return the value of the field from the row or a value holder on the query to obtain the object. |
protected java.lang.Object |
valueFromRowInternalWithJoin(AbstractRecord row,
JoinedAttributeManager joinManager,
ObjectBuildingQuery sourceQuery,
AbstractSession executionSession)
INTERNAL: Return the value of the field from the row or a value holder on the query to obtain the object. |
void |
writeFromAttributeIntoRow(java.lang.Object attribute,
AbstractRecord row,
AbstractSession session)
INTERNAL: A subclass should implement this method if it wants different behaviour. |
void |
writeFromObjectIntoRow(java.lang.Object object,
AbstractRecord databaseRow,
AbstractSession session)
INTERNAL: Get a value from the object and set that in the respective field of the row. |
void |
writeFromObjectIntoRowForShallowInsert(java.lang.Object object,
AbstractRecord databaseRow,
AbstractSession session)
INTERNAL: This row is built for shallow insert which happens in case of bidirectional inserts. |
void |
writeFromObjectIntoRowForShallowInsertWithChangeRecord(ChangeRecord ChangeRecord,
AbstractRecord databaseRow,
AbstractSession session)
INTERNAL: This row is built for shallow insert which happens in case of bidirectional inserts. |
void |
writeFromObjectIntoRowWithChangeRecord(ChangeRecord changeRecord,
AbstractRecord databaseRow,
AbstractSession session)
INTERNAL: Get a value from the object and set that in the respective field of the row. |
void |
writeInsertFieldsIntoRow(AbstractRecord databaseRow,
AbstractSession session)
INTERNAL: Write fields needed for insert into the template for with null values. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.util.Map<DatabaseField,DatabaseField> sourceToTargetKeyFields
protected java.util.Map<DatabaseField,DatabaseField> targetToSourceKeyFields
protected boolean shouldVerifyDelete
protected transient Expression privateOwnedCriteria
Constructor Detail |
---|
public OneToOneMapping()
Method Detail |
---|
public boolean isRelationalMapping()
isRelationalMapping
in class DatabaseMapping
public void addForeignKeyField(DatabaseField sourceForeignKeyField, DatabaseField targetPrimaryKeyField)
public void addForeignKeyFieldName(java.lang.String sourceForeignKeyFieldName, java.lang.String targetPrimaryKeyFieldName)
public void addTargetForeignKeyField(DatabaseField targetForeignKeyField, DatabaseField sourcePrimaryKeyField)
public void addTargetForeignKeyFieldName(java.lang.String targetForeignKeyFieldName, java.lang.String sourcePrimaryKeyFieldName)
public Expression buildObjectJoinExpression(Expression expression, java.lang.Object value, AbstractSession session)
buildObjectJoinExpression
in class DatabaseMapping
public Expression buildObjectJoinExpression(Expression expression, Expression argument, AbstractSession session)
buildObjectJoinExpression
in class DatabaseMapping
public java.lang.Object clone()
clone
in class ForeignReferenceMapping
public void dontUseJoining()
org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int)
protected java.util.Vector extractForeignKeyFromRow(AbstractRecord row, AbstractSession session)
protected java.util.Vector extractKeyFromReferenceObject(java.lang.Object object, AbstractSession session)
public java.util.Vector extractPrimaryKeysForReferenceObjectFromRow(AbstractRecord row)
extractPrimaryKeysForReferenceObjectFromRow
in class ObjectReferenceMapping
protected void postPrepareNestedBatchQuery(ReadQuery batchQuery, ReadAllQuery query)
postPrepareNestedBatchQuery
in class ForeignReferenceMapping
public java.lang.Object extractResultFromBatchQuery(DatabaseQuery query, AbstractRecord databaseRow, AbstractSession session, AbstractRecord argumentRow)
extractResultFromBatchQuery
in class ForeignReferenceMapping
public java.lang.Class getFieldClassification(DatabaseField fieldToClassify) throws DescriptorException
getFieldClassification
in class DatabaseMapping
DescriptorException
public java.util.Vector getForeignKeyFieldNames()
protected java.util.Map getForeignKeysToPrimaryKeys()
public java.util.Vector getOrderedForeignKeyFields()
protected ClassDescriptor getPrimaryKeyDescriptor()
public Expression getPrivateOwnedCriteria()
public java.util.Vector getSourceToTargetKeyFieldAssociations()
public java.util.Map<DatabaseField,DatabaseField> getSourceToTargetKeyFields()
public java.util.Map<DatabaseField,DatabaseField> getTargetToSourceKeyFields()
public void initialize(AbstractSession session) throws DescriptorException
initialize
in class ForeignReferenceMapping
DescriptorException
protected void initializeForeignKeys(AbstractSession session)
protected void initializeForeignKeysWithDefaults(AbstractSession session)
protected void initializePrivateOwnedCriteria()
protected void initializeSelectionCriteria(AbstractSession session)
public void prepareCascadeLockingPolicy()
prepareCascadeLockingPolicy
in class DatabaseMapping
public Expression buildSelectionCriteria()
public void buildShallowOriginalFromRow(AbstractRecord databaseRow, java.lang.Object original, JoinedAttributeManager joinManager, ObjectBuildingQuery query, AbstractSession executionSession)
buildShallowOriginalFromRow
in class DatabaseMapping
public boolean isOneToOneMapping()
isOneToOneMapping
in class DatabaseMapping
protected java.lang.Object readPrivateOwnedForObject(ObjectLevelModifyQuery modifyQuery) throws DatabaseException
readPrivateOwnedForObject
in class ObjectReferenceMapping
DatabaseException
public void rehashFieldDependancies(AbstractSession session)
rehashFieldDependancies
in class DatabaseMapping
public void setForeignKeyFieldName(java.lang.String sourceForeignKeyFieldName)
public void setForeignKeyFieldNames(java.util.Vector fieldNames)
protected void setPrivateOwnedCriteria(Expression expression)
public void setShouldVerifyDelete(boolean shouldVerifyDelete)
public void setSourceToTargetKeyFieldAssociations(java.util.Vector sourceToTargetKeyFieldAssociations)
public void setSourceToTargetKeyFields(java.util.Map<DatabaseField,DatabaseField> sourceToTargetKeyFields)
public void setTargetForeignKeyFieldName(java.lang.String targetForeignKeyFieldName)
public void setTargetToSourceKeyFields(java.util.Map<DatabaseField,DatabaseField> targetToSourceKeyFields)
public void setUsesJoining(boolean usesJoining)
org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int)
public boolean shouldUseJoining()
org.eclipse.persistence.mappings.ForeignReferenceMapping.getJoinFetch()
public boolean shouldVerifyDelete()
public boolean isCascadedLockingSupported()
isCascadedLockingSupported
in class DatabaseMapping
public boolean isJoiningSupported()
isJoiningSupported
in class ForeignReferenceMapping
public void useJoining()
org.eclipse.persistence.mappings.ForeignReferenceMapping.setJoinFetch(int)
public void writeFromAttributeIntoRow(java.lang.Object attribute, AbstractRecord row, AbstractSession session)
writeFromAttributeIntoRow
in class DatabaseMapping
public java.lang.Object valueFromObject(java.lang.Object object, DatabaseField field, AbstractSession session)
valueFromObject
in class DatabaseMapping
protected java.lang.Object valueFromRowInternalWithJoin(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession) throws DatabaseException
valueFromRowInternalWithJoin
in class ForeignReferenceMapping
DatabaseException
protected java.lang.Object valueFromRowInternal(AbstractRecord row, JoinedAttributeManager joinManager, ObjectBuildingQuery sourceQuery, AbstractSession executionSession) throws DatabaseException
valueFromRowInternal
in class ForeignReferenceMapping
DatabaseException
public void writeFromObjectIntoRow(java.lang.Object object, AbstractRecord databaseRow, AbstractSession session)
writeFromObjectIntoRow
in class DatabaseMapping
public void writeFromObjectIntoRowForShallowInsert(java.lang.Object object, AbstractRecord databaseRow, AbstractSession session)
writeFromObjectIntoRowForShallowInsert
in class DatabaseMapping
public void writeFromObjectIntoRowWithChangeRecord(ChangeRecord changeRecord, AbstractRecord databaseRow, AbstractSession session)
writeFromObjectIntoRowWithChangeRecord
in class DatabaseMapping
public void writeFromObjectIntoRowForShallowInsertWithChangeRecord(ChangeRecord ChangeRecord, AbstractRecord databaseRow, AbstractSession session)
writeFromObjectIntoRowForShallowInsertWithChangeRecord
in class DatabaseMapping
public void writeInsertFieldsIntoRow(AbstractRecord databaseRow, AbstractSession session)
writeInsertFieldsIntoRow
in class DatabaseMapping
|
EclipseLink 1.0_1.0M2 API Reference - Incubation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |