Class ModifyAllQuery

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
DeleteAllQuery, UpdateAllQuery

public abstract class ModifyAllQuery extends ModifyQuery
PUBLIC: Query used to perform a bulk delete using the expression framework.
See Also:
Author:
Andrei Ilitchev
  • Field Details

    • NO_CACHE

      public static final int NO_CACHE
      Cache usage flags
      See Also:
    • INVALIDATE_CACHE

      public static final int INVALIDATE_CACHE
      See Also:
    • referenceClass

      protected Class referenceClass
    • referenceClassName

      protected String referenceClassName
    • result

      protected transient Integer result
      Number of modified objects
    • defaultBuilder

      protected ExpressionBuilder defaultBuilder
      Provide a default builder so that it's easier to be consistent
    • isPreparedUsingTempStorage

      protected boolean isPreparedUsingTempStorage
      Indicates whether the query was prepared so that it will execute using temp storage
  • Constructor Details

    • ModifyAllQuery

      public ModifyAllQuery()
      PUBLIC:
    • ModifyAllQuery

      public ModifyAllQuery(Class referenceClass)
      PUBLIC: Create a new update all query for the class specified.
    • ModifyAllQuery

      public ModifyAllQuery(Class referenceClass, Expression selectionCriteria)
      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 class DatabaseQuery
    • 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 class DatabaseQuery
    • 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 class DatabaseQuery
      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 ExpressionBuilder 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

      public void setExpressionBuilder(ExpressionBuilder builder)
      INTERNAL Sets the default expression builder for this query.
    • getReferenceClassName

      public String getReferenceClassName()
      INTERNAL: Return the name of the reference class of the query. Used by the Mapping Workbench to avoid classpath dependencies
      Overrides:
      getReferenceClassName in class DatabaseQuery
    • getReferenceClass

      public Class getReferenceClass()
      PUBLIC: Return the reference class for this query.
      Overrides:
      getReferenceClass in class DatabaseQuery
    • invalidateCache

      protected void invalidateCache()
      INTERNAL: Invalid the cache, that is, those objects in the cache that were affected by the query.
    • mergeChangesIntoSharedCache

      public void mergeChangesIntoSharedCache()
      INTERNAL: After execution we need to merge the changes into the shared cache, unless the query has been tagged to bypass on the store.
    • setCacheUsage

      public void setCacheUsage(int cacheUsage)
      PUBLIC: Set the level of cache support for this query, either NONE or INVALIDATE.
    • setReferenceClass

      public void setReferenceClass(Class referenceClass)
      PUBLIC: Set the reference class this query.
    • setReferenceClassName

      public void setReferenceClassName(String className)
      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.