Package org.eclipse.persistence.queries
Class DeleteObjectQuery
java.lang.Object
org.eclipse.persistence.queries.DatabaseQuery
org.eclipse.persistence.queries.ModifyQuery
org.eclipse.persistence.queries.ObjectLevelModifyQuery
org.eclipse.persistence.queries.DeleteObjectQuery
- All Implemented Interfaces:
Serializable,Cloneable
Purpose: Used for deleting objects.
Responsibilities: Extract primary key from object and delete it.
- See Also:
- Author:
- Yvon Lavoie
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.queries.DatabaseQuery
DatabaseQuery.ParameterType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanPERF: By default only the translation row is used for deletes, the full row can be requested for custom deletes.protected booleanIndicates whether the query should use optimistic locking.Fields inherited from class org.eclipse.persistence.queries.ObjectLevelModifyQuery
backupClone, object, objectChangeSet, primaryKeyFields inherited from class org.eclipse.persistence.queries.ModifyQuery
forceBatchStatementExecution, isBatchExecutionSupported, modifyRowFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DatabaseQuerycheckForCustomQuery(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: Check to see if a custom query should be used for this query.INTERNAL: Perform the work to delete an object.protected ObjectexecuteInUnitOfWorkObjectLevelModifyQuery(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: Code was moved from UnitOfWork.internalExecuteQueryprotected QueryRedirectorINTERNAL: Returns the specific default redirector for this query type.booleanPUBLIC: Return if this is a delete object query.booleanADVANCED: Return if the full row is required by the delete query.protected voidprepare()INTERNAL: Prepare the receiver for execution in a session.protected voidprepareCustomQuery(DatabaseQuery customQuery) INTERNAL: Set the properties needed to be cascaded into the custom query.voidINTERNAL: Prepare the receiver for execution in a session.voidsetIsFullRowRequired(boolean isFullRowRequired) ADVANCED: Set if the full row is required by the delete query.voidPUBLIC: (REQUIRED) Set the object required for modification.protected booleanshouldUseOptimisticLocking(Object object) INTERNAL: Determines whether the query should use optimistic locking with the passed object.booleanINTERNAL: Indicating whether the query should use optimistic locking.Methods inherited from class org.eclipse.persistence.queries.ObjectLevelModifyQuery
checkDescriptor, executeInUnitOfWork, getBackupClone, getObject, getObjectChangeSet, getPrimaryKey, getReferenceClass, getReferenceClassName, isObjectLevelModifyQuery, resetMonitorName, setBackupClone, setObjectChangeSet, setPrimaryKey, toStringMethods inherited from class org.eclipse.persistence.queries.ModifyQuery
forceBatchStatementExecution, getModifyRow, isBatchExecutionSupported, isModifyQuery, setForceBatchStatementExecution, setIsBatchExecutionSupported, setModifyRowMethods 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, checkPrepare, checkPrepare, clone, clonedQueryExecutionComplete, convertClassNamesToClasses, copyFromQuery, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, execute, extractRemoteResult, getAccessor, getAccessors, getArgumentParameterTypes, getArguments, getArgumentTypeNames, getArgumentTypes, getArgumentValues, getBatchObjects, getCall, getCascadePolicy, getDatasourceCall, getDatasourceCalls, 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, isDirectReadQuery, isExecutionClone, isExpressionQuery, isInsertObjectQuery, isJPQLCallQuery, isModifyAllQuery, isNativeConnectionRequired, isObjectBuildingQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReadQuery, isReportQuery, isResultSetMappingQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isUserDefinedSQLCall, isValueReadQuery, isWriteObjectQuery, maintainCache, prepareCall, 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
-
isFullRowRequired
protected boolean isFullRowRequiredPERF: By default only the translation row is used for deletes, the full row can be requested for custom deletes. -
usesOptimisticLocking
protected boolean usesOptimisticLockingIndicates whether the query should use optimistic locking.
-
-
Constructor Details
-
DeleteObjectQuery
public DeleteObjectQuery() -
DeleteObjectQuery
-
DeleteObjectQuery
-
-
Method Details
-
isFullRowRequired
public boolean isFullRowRequired()ADVANCED: Return if the full row is required by the delete query. This can be set on custom delete queries if more than the objects primary key and version is required. -
setIsFullRowRequired
public void setIsFullRowRequired(boolean isFullRowRequired) ADVANCED: Set if the full row is required by the delete query. This can be set on custom delete queries if more than the objects primary key and version is required. -
checkForCustomQuery
protected DatabaseQuery checkForCustomQuery(org.eclipse.persistence.internal.sessions.AbstractSession session, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: Check to see if a custom query should be used for this query. This is done before the query is copied and prepared/executed. null means there is none.- Overrides:
checkForCustomQueryin classDatabaseQuery
-
executeInUnitOfWorkObjectLevelModifyQuery
protected Object executeInUnitOfWorkObjectLevelModifyQuery(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) throws DatabaseException, OptimisticLockException INTERNAL: Code was moved from UnitOfWork.internalExecuteQuery- Overrides:
executeInUnitOfWorkObjectLevelModifyQueryin classObjectLevelModifyQuery- Parameters:
unitOfWork-translationRow-- Returns:
- Throws:
DatabaseExceptionOptimisticLockException
-
getDefaultRedirector
INTERNAL: Returns the specific default redirector for this query type. There are numerous default query redirectors. See ClassDescriptor for their types.- Overrides:
getDefaultRedirectorin classDatabaseQuery
-
executeDatabaseQuery
INTERNAL: Perform the work to delete an object.- Specified by:
executeDatabaseQueryin classDatabaseQuery- Returns:
- object - the object being deleted.
- Throws:
DatabaseException- - an error has occurred on the database.OptimisticLockException- - an error has occurred using the optimistic lock feature.
-
isDeleteObjectQuery
public boolean isDeleteObjectQuery()PUBLIC: Return if this is a delete object query.- Overrides:
isDeleteObjectQueryin classDatabaseQuery
-
setObject
PUBLIC: (REQUIRED) Set the object required for modification.- Overrides:
setObjectin classObjectLevelModifyQuery
-
shouldUseOptimisticLocking
INTERNAL: Determines whether the query should use optimistic locking with the passed object. -
usesOptimisticLocking
public boolean usesOptimisticLocking()INTERNAL: Indicating whether the query should use optimistic locking. -
prepare
protected void prepare()INTERNAL: Prepare the receiver for execution in a session.- Overrides:
preparein classObjectLevelModifyQuery
-
prepareCustomQuery
INTERNAL: Set the properties needed to be cascaded into the custom query. A custom query is set by the user, or used by default to allow caching of the prepared query. In a unit of work the custom query is used directly, so this step is bypassed.- Overrides:
prepareCustomQueryin classDatabaseQuery
-
prepareForExecution
INTERNAL: Prepare the receiver for execution in a session. In particular, verify that the object is not null and contains a valid primary key.- Overrides:
prepareForExecutionin classObjectLevelModifyQuery- Throws:
QueryException
-