Class ModifyAllQuery

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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:
    Serialized Form
    Author:
    Andrei Ilitchev
    Since:
    August 18, 2005
    • Field Detail

      • referenceClass

        protected java.lang.Class referenceClass
      • referenceClassName

        protected java.lang.String referenceClassName
      • result

        protected transient java.lang.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 Detail

      • ModifyAllQuery

        public ModifyAllQuery()
        PUBLIC:
      • ModifyAllQuery

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

        public ModifyAllQuery​(java.lang.Class referenceClass,
                              Expression selectionCriteria)
        PUBLIC: Create a new update all query for the class and the selection criteria specified.
    • Method Detail

      • 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 java.lang.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 java.lang.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 java.lang.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​(java.lang.Class referenceClass)
        PUBLIC: Set the reference class this query.
      • setReferenceClassName

        public void setReferenceClassName​(java.lang.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.