Package org.eclipse.persistence.queries
Class ObjectLevelModifyQuery
java.lang.Object
org.eclipse.persistence.queries.DatabaseQuery
org.eclipse.persistence.queries.ModifyQuery
org.eclipse.persistence.queries.ObjectLevelModifyQuery
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
DeleteObjectQuery
,WriteObjectQuery
Purpose: Abstract class for all object modify queries.
Responsibilities:
- Stores & retrieves the object to modify.
- Stores & retrieves the primary key of the objects.
- See Also:
- Author:
- Yvon Lavoie
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.queries.DatabaseQuery
DatabaseQuery.ParameterType
-
Field Summary
Modifier and TypeFieldDescriptionprotected Object
protected Object
protected org.eclipse.persistence.internal.sessions.ObjectChangeSet
protected Object
Fields inherited from class org.eclipse.persistence.queries.ModifyQuery
forceBatchStatementExecution, isBatchExecutionSupported, modifyRow
Fields inherited from class org.eclipse.persistence.queries.DatabaseQuery
accessors, allowNativeSQLQuery, argumentFields, argumentParameterTypes, arguments, argumentTypeNames, argumentTypes, argumentValues, BATCH_FETCH_PROPERTY, CascadeAggregateDelete, CascadeAllParts, CascadeByMapping, CascadeDependentParts, cascadePolicy, CascadePrivateParts, descriptor, descriptors, doNotRedirect, executionSession, flushOnExecute, hintString, isCustomQueryUsed, isExecutionClone, isNativeConnectionRequired, isPrepared, isUserDefined, isUserDefinedSQLCall, monitorName, name, NoCascading, nullableArguments, parameterDelimiter, partitioningPolicy, properties, queryMechanism, queryTimeout, queryTimeoutUnit, redirector, session, sessionName, shouldBindAllParameters, shouldCacheStatement, shouldCloneCall, shouldMaintainCache, shouldPrepare, shouldRetrieveBypassCache, shouldReturnGeneratedKeys, shouldStoreBypassCache, shouldUseWrapperPolicy, shouldValidateUpdateCallCacheUse, sourceMapping, translationRow
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checkDescriptor
(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Ensure that the descriptor has been set.executeInUnitOfWork
(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: All have done is move code from UnitOfWork.internalExecuteQueryprotected Object
executeInUnitOfWorkObjectLevelModifyQuery
(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: This code was moved from UnitOfWork.internalExecuteQuery.INTERNAL: Return the backup clone of the object from the unit of work.PUBLIC: Return the object required for modification.org.eclipse.persistence.internal.sessions.ObjectChangeSet
PUBLIC: Return the ObjectChangeSet representing the object being changedINTERNAL: Get the primary key for the queryReturn the domain class associated with this query.INTERNAL: Return the reference class for a query Note: Although the API is designed to avoid classpath dependencies for the MW, since the object is specified at runtime, this will not be an issue.boolean
PUBLIC: Return if this is an object level modify query.protected void
prepare()
INTERNAL: Prepare the receiver for execution in a session.void
INTERNAL: Prepare the receiver for execution in a session.void
INTERNAL: Return the name to use for the query in performance monitoring.void
setBackupClone
(Object backupClone) INTERNAL: Set the backup clone of the object from the unit of work.void
PUBLIC: (REQUIRED) Set the object required for modification.void
setObjectChangeSet
(org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet) INTERNAL: Set the ObjectChangeSet representing the object to be writtenvoid
setPrimaryKey
(Object primaryKey) INTERNAL: Set the primary key for the query.toString()
Methods inherited from class org.eclipse.persistence.queries.ModifyQuery
forceBatchStatementExecution, getModifyRow, isBatchExecutionSupported, isModifyQuery, setForceBatchStatementExecution, setIsBatchExecutionSupported, setModifyRow
Methods inherited from class org.eclipse.persistence.queries.DatabaseQuery
addArgument, addArgument, addArgument, addArgument, addArgument, addArgument, addArgumentByTypeName, addArgumentValue, addArgumentValues, addCall, addStatement, bindAllParameters, buildArgumentFields, buildSelectionCriteria, cacheStatement, cascadeAllParts, cascadeByMapping, cascadeOnlyDependentParts, cascadePrivateParts, checkEarlyReturn, checkForCustomQuery, checkPrepare, checkPrepare, clone, clonedQueryExecutionComplete, convertClassNamesToClasses, copyFromQuery, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, execute, executeDatabaseQuery, extractRemoteResult, getAccessor, getAccessors, getArgumentParameterTypes, getArguments, getArgumentTypeNames, getArgumentTypes, getArgumentValues, getBatchObjects, getCall, getCascadePolicy, getDatasourceCall, getDatasourceCalls, getDefaultRedirector, getDescriptor, getDescriptors, getDomainClassNounName, getDoNotRedirect, getEJBQLString, getExecutionSession, getFlushOnExecute, getHintString, getJPQLString, getMonitorName, getName, getNullableArguments, getParameterDelimiter, getParameterDelimiterChar, getPartitioningPolicy, getProperties, getProperty, getQueryMechanism, getQueryNounName, getQueryTimeout, getQueryTimeoutUnit, getRedirector, getRedirectorForQuery, getSelectionCriteria, getSensorName, getSession, getSessionName, getShouldBindAllParameters, getSourceMapping, getSQLStatement, getSQLString, getSQLStrings, getTranslatedSQLString, getTranslatedSQLStrings, getTranslationRow, hasAccessor, hasArguments, hasNullableArguments, hasProperties, hasQueryMechanism, hasSessionName, ignoreBindAllParameters, ignoreCacheStatement, isCallQuery, isCascadeOfAggregateDelete, isCustomQueryUsed, isCustomSelectionQuery, isDataModifyQuery, isDataReadQuery, isDefaultPropertiesQuery, isDeleteAllQuery, isDeleteObjectQuery, isDirectReadQuery, isExecutionClone, isExpressionQuery, isInsertObjectQuery, isJPQLCallQuery, isModifyAllQuery, isNativeConnectionRequired, isObjectBuildingQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReadQuery, isReportQuery, isResultSetMappingQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isUserDefinedSQLCall, isValueReadQuery, isWriteObjectQuery, maintainCache, prepareCall, prepareCustomQuery, prepareForRemoteExecution, prepareFromQuery, prepareInternal, redirectQuery, remoteExecute, remoteExecute, removeProperty, replaceValueHoldersIn, retrieveBypassCache, rowFromArguments, setAccessor, setAccessors, setAllowNativeSQLQuery, setArguments, setArgumentTypeNames, setArgumentTypes, setArgumentValues, setBatchObjects, setCall, setCascadePolicy, setDatasourceCall, setDescriptor, setDoNotRedirect, setEJBQLString, setExecutionSession, setFlushOnExecute, setHintString, setIsCustomQueryUsed, setIsExecutionClone, setIsNativeConnectionRequired, setIsPrepared, setIsUserDefined, setIsUserDefinedSQLCall, setJPQLString, setName, setNullableArguments, setParameterDelimiter, setPartitioningPolicy, setProperties, setProperty, setQueryMechanism, setQueryTimeout, setQueryTimeoutUnit, setRedirector, setSelectionCriteria, setSession, setSessionName, setShouldBindAllParameters, setShouldBindAllParameters, setShouldCacheStatement, setShouldMaintainCache, setShouldPrepare, setShouldRetrieveBypassCache, setShouldReturnGeneratedKeys, setShouldStoreBypassCache, setShouldUseWrapperPolicy, setShouldValidateUpdateCallCacheUse, setSourceMapping, setSQLStatement, setSQLString, setTranslationRow, shouldAllowNativeSQLQuery, shouldBindAllParameters, shouldCacheStatement, shouldCascadeAllParts, shouldCascadeByMapping, shouldCascadeOnlyDependentParts, shouldCascadeParts, shouldCascadePrivateParts, shouldCloneCall, shouldIgnoreBindAllParameters, shouldIgnoreCacheStatement, shouldMaintainCache, shouldPrepare, shouldPrepare, shouldRetrieveBypassCache, shouldReturnGeneratedKeys, shouldStoreBypassCache, shouldUseWrapperPolicy, shouldValidateUpdateCallCacheUse, storeBypassCache
-
Field Details
-
-
object
-
objectChangeSet
protected org.eclipse.persistence.internal.sessions.ObjectChangeSet objectChangeSet -
backupClone
-
-
Constructor Details
-
ObjectLevelModifyQuery
public ObjectLevelModifyQuery()PUBLIC: Initialize the state of the query.
-
-
Method Details
-
checkDescriptor
public void checkDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session) throws QueryException INTERNAL: Ensure that the descriptor has been set.- Overrides:
checkDescriptor
in classDatabaseQuery
- Throws:
QueryException
-
executeInUnitOfWork
public Object executeInUnitOfWork(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) throws DatabaseException INTERNAL: All have done is move code from UnitOfWork.internalExecuteQuery- Overrides:
executeInUnitOfWork
in classDatabaseQuery
- Parameters:
unitOfWork
- - the session in which the receiver will be executed.translationRow
- - the arguments- Returns:
- An object, the result of executing the query.
- Throws:
DatabaseException
- - an error has occurred on the database.
-
executeInUnitOfWorkObjectLevelModifyQuery
protected Object executeInUnitOfWorkObjectLevelModifyQuery(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) throws DatabaseException, OptimisticLockException INTERNAL: This code was moved from UnitOfWork.internalExecuteQuery. -
getBackupClone
INTERNAL: Return the backup clone of the object from the unit of work. -
getObject
PUBLIC: Return the object required for modification. -
getObjectChangeSet
public org.eclipse.persistence.internal.sessions.ObjectChangeSet getObjectChangeSet()PUBLIC: Return the ObjectChangeSet representing the object being changed -
getPrimaryKey
INTERNAL: Get the primary key for the query -
getReferenceClass
Return the domain class associated with this query.- Overrides:
getReferenceClass
in classDatabaseQuery
-
getReferenceClassName
INTERNAL: Return the reference class for a query Note: Although the API is designed to avoid classpath dependencies for the MW, since the object is specified at runtime, this will not be an issue.- Overrides:
getReferenceClassName
in classDatabaseQuery
-
resetMonitorName
public void resetMonitorName()INTERNAL: Return the name to use for the query in performance monitoring.- Overrides:
resetMonitorName
in classDatabaseQuery
-
isObjectLevelModifyQuery
public boolean isObjectLevelModifyQuery()PUBLIC: Return if this is an object level modify query.- Overrides:
isObjectLevelModifyQuery
in classDatabaseQuery
-
prepare
INTERNAL: Prepare the receiver for execution in a session. In particular check that the tables on the descriptor are set.- Overrides:
prepare
in classDatabaseQuery
- Throws:
QueryException
-
prepareForExecution
INTERNAL: Prepare the receiver for execution in a session. In particular check that the tables on the descriptor are set.- Overrides:
prepareForExecution
in classDatabaseQuery
- Throws:
QueryException
-
setBackupClone
INTERNAL: Set the backup clone of the object from the unit of work. -
setObject
PUBLIC: (REQUIRED) Set the object required for modification. -
setObjectChangeSet
public void setObjectChangeSet(org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet) INTERNAL: Set the ObjectChangeSet representing the object to be written -
setPrimaryKey
INTERNAL: Set the primary key for the query. -
toString
- Overrides:
toString
in classDatabaseQuery
-