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
FieldsModifier and TypeFieldDescriptionprotected ExpressionBuilderProvide a default builder so that it's easier to be consistentstatic final intprotected booleanIndicates whether the query was prepared so that it will execute using temp storagestatic final intCache usage flagsprotected Classprotected Stringprotected IntegerNumber of modified objectsFields 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
ConstructorsConstructorDescriptionPUBLIC: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 voidclonedQueryExecutionComplete(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.intPUBLIC: 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 voidINTERNAL: Initialize the expression builder which should be used for this query.protected voidINTERNAL: Initialize the expression builder which should be used for this query.protected voidINTERNAL: Invalid the cache, that is, those objects in the cache that were affected by the query.booleanPUBLIC: Return true if this is a modify all query.booleanINTERNAL:voidINTERNAL: After execution we need to merge the changes into the shared cache, unless the query has been tagged to bypass on the store.voidsetCacheUsage(int cacheUsage) PUBLIC: Set the level of cache support for this query, either NONE or INVALIDATE.voidsetExpressionBuilder(ExpressionBuilder builder) INTERNAL Sets the default expression builder for this query.voidsetIsPreparedUsingTempStorage(boolean isPreparedUsingTempStorage) INTERNAL:voidsetReferenceClass(Class referenceClass) PUBLIC: Set the reference class this query.voidsetReferenceClassName(String className) INTERNAL: Set the class name of the reference class of this query.voidsetShouldDeferExecutionInUOW(boolean shouldDeferExecutionInUOW) PUBLIC: Set a flag indicating whether execution should be deferred in UOW until commit.booleanPUBLIC: Indicates whether execution should be deferred in UOW until commit.protected booleanINTERNAL:Methods 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, 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:
isModifyAllQueryin 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:
clonedQueryExecutionCompletein 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:
executeInUnitOfWorkin 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:
getReferenceClassNamein classDatabaseQuery
-
getReferenceClass
PUBLIC: Return the reference class for this query.- Overrides:
getReferenceClassin 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.
-