Package org.eclipse.persistence.queries
Class ModifyAllQuery
java.lang.Object
org.eclipse.persistence.queries.DatabaseQuery
org.eclipse.persistence.queries.ModifyQuery
org.eclipse.persistence.queries.ModifyAllQuery
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
DeleteAllQuery
,UpdateAllQuery
PUBLIC:
Query used to perform a bulk delete using the expression framework.
- See Also:
- Author:
- Andrei Ilitchev
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.persistence.queries.DatabaseQuery
DatabaseQuery.ParameterType
-
Field Summary
Modifier and TypeFieldDescriptionprotected ExpressionBuilder
Provide a default builder so that it's easier to be consistentstatic final int
protected boolean
Indicates whether the query was prepared so that it will execute using temp storagestatic final int
Cache usage flagsprotected Class
protected String
protected Integer
Number of modified objectsFields 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
ConstructorDescriptionPUBLIC:ModifyAllQuery
(Class referenceClass) PUBLIC: Create a new update all query for the class specified.ModifyAllQuery
(Class referenceClass, Expression selectionCriteria) PUBLIC: Create a new update all query for the class and the selection criteria specified. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
clonedQueryExecutionComplete
(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL Used to give the subclasses opportunity to copy aspects of the cloned query to the original query.executeInUnitOfWork
(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) INTERNAL: Override query execution where Session is a UnitOfWork.int
PUBLIC: Return the cache usage for this query.PUBLIC: Get the expression builder which should be used for this query.PUBLIC: Return the reference class for this query.INTERNAL: Return the name of the reference class of the query.protected void
INTERNAL: Initialize the expression builder which should be used for this query.protected void
INTERNAL: Initialize the expression builder which should be used for this query.protected void
INTERNAL: Invalid the cache, that is, those objects in the cache that were affected by the query.boolean
PUBLIC: Return true if this is a modify all query.boolean
INTERNAL:void
INTERNAL: After execution we need to merge the changes into the shared cache, unless the query has been tagged to bypass on the store.void
setCacheUsage
(int cacheUsage) PUBLIC: Set the level of cache support for this query, either NONE or INVALIDATE.void
setExpressionBuilder
(ExpressionBuilder builder) INTERNAL Sets the default expression builder for this query.void
setIsPreparedUsingTempStorage
(boolean isPreparedUsingTempStorage) INTERNAL:void
setReferenceClass
(Class referenceClass) PUBLIC: Set the reference class this query.void
setReferenceClassName
(String className) INTERNAL: Set the class name of the reference class of this query.void
setShouldDeferExecutionInUOW
(boolean shouldDeferExecutionInUOW) PUBLIC: Set a flag indicating whether execution should be deferred in UOW until commit.boolean
PUBLIC: Indicates whether execution should be deferred in UOW until commit.protected boolean
INTERNAL: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, checkDescriptor, checkEarlyReturn, checkForCustomQuery, checkPrepare, checkPrepare, clone, 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, isNativeConnectionRequired, isObjectBuildingQuery, isObjectLevelModifyQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReadQuery, isReportQuery, isResultSetMappingQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isUserDefinedSQLCall, isValueReadQuery, isWriteObjectQuery, maintainCache, prepare, prepareCall, prepareCustomQuery, prepareForExecution, prepareForRemoteExecution, prepareFromQuery, prepareInternal, redirectQuery, remoteExecute, remoteExecute, removeProperty, replaceValueHoldersIn, resetMonitorName, 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, toString
-
Field Details
-
NO_CACHE
public static final int NO_CACHECache usage flags- See Also:
-
INVALIDATE_CACHE
public static final int INVALIDATE_CACHE- See Also:
-
referenceClass
-
referenceClassName
-
result
Number of modified objects -
defaultBuilder
Provide a default builder so that it's easier to be consistent -
isPreparedUsingTempStorage
protected boolean isPreparedUsingTempStorageIndicates whether the query was prepared so that it will execute using temp storage
-
-
Constructor Details
-
ModifyAllQuery
public ModifyAllQuery()PUBLIC: -
ModifyAllQuery
PUBLIC: Create a new update all query for the class specified. -
ModifyAllQuery
PUBLIC: Create a new update all query for the class and the selection criteria specified.
-
-
Method Details
-
isModifyAllQuery
public boolean isModifyAllQuery()PUBLIC: Return true if this is a modify all query.- Overrides:
isModifyAllQuery
in classDatabaseQuery
-
setIsPreparedUsingTempStorage
public void setIsPreparedUsingTempStorage(boolean isPreparedUsingTempStorage) INTERNAL: -
isPreparedUsingTempStorage
public boolean isPreparedUsingTempStorage()INTERNAL: -
clonedQueryExecutionComplete
protected void clonedQueryExecutionComplete(DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL Used to give the subclasses opportunity to copy aspects of the cloned query to the original query. The clones of all the ModifyAllQueries will be added to modifyAllQueries for validation.- Overrides:
clonedQueryExecutionComplete
in classDatabaseQuery
-
executeInUnitOfWork
public Object executeInUnitOfWork(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) throws DatabaseException, OptimisticLockException INTERNAL: Override query execution where Session is a UnitOfWork.If there are objects in the cache return the results of the cache lookup.
- 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.OptimisticLockException
- - an error has occurred using the optimistic lock feature.
-
getCacheUsage
public int getCacheUsage()PUBLIC: Return the cache usage for this query. -
getExpressionBuilder
PUBLIC: Get the expression builder which should be used for this query. This expression builder should be used to build all expressions used by this query. -
setExpressionBuilder
INTERNAL Sets the default expression builder for this query. -
getReferenceClassName
INTERNAL: Return the name of the reference class of the query. Used by the Mapping Workbench to avoid classpath dependencies- Overrides:
getReferenceClassName
in classDatabaseQuery
-
getReferenceClass
PUBLIC: Return the reference class for this query.- Overrides:
getReferenceClass
in classDatabaseQuery
-
invalidateCache
protected void invalidateCache()INTERNAL: Invalid the cache, that is, those objects in the cache that were affected by the query. -
setCacheUsage
public void setCacheUsage(int cacheUsage) PUBLIC: Set the level of cache support for this query, either NONE or INVALIDATE. -
setReferenceClass
PUBLIC: Set the reference class this query. -
setReferenceClassName
INTERNAL: Set the class name of the reference class of this query. Used by the Mapping Workbench to avoid classpath dependencies. -
setShouldDeferExecutionInUOW
public void setShouldDeferExecutionInUOW(boolean shouldDeferExecutionInUOW) PUBLIC: Set a flag indicating whether execution should be deferred in UOW until commit. -
shouldDeferExecutionInUOW
public boolean shouldDeferExecutionInUOW()PUBLIC: Indicates whether execution should be deferred in UOW until commit. -
shouldInvalidateCache
protected boolean shouldInvalidateCache()INTERNAL: -
initializeDefaultBuilder
protected void initializeDefaultBuilder()INTERNAL: Initialize the expression builder which should be used for this query. If there is a where clause, use its expression builder, otherwise generate one and cache it. This helps avoid unnecessary rebuilds. -
initializeQuerySpecificDefaultBuilder
protected void initializeQuerySpecificDefaultBuilder()INTERNAL: Initialize the expression builder which should be used for this query. If there is a where clause, use its expression builder. If after this method defaultBuilder is still null, then initializeDefaultBuilder method will generate and cache it.
-