javax.persistence.criteria

## Interface CriteriaUpdate<T>

- Type Parameters:
    `T` - the entity type that is the target of the update
  All Superinterfaces:
    CommonAbstractCriteria

      public interface CriteriaUpdate<T>
      extends CommonAbstractCriteria

  The `CriteriaUpdate` interface defines functionality for performing bulk update operations using the Criteria API.

  Criteria API bulk update operations map directly to database update operations, bypassing any optimistic locking checks. Portable applications using bulk update operations must manually update the value of the version column, if desired, and/or manually validate the value of the version column. The persistence context is not synchronized with the result of the bulk update.

  A `CriteriaUpdate` object must have a single root.

  Since:
    Java Persistence 2.1

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Root<T>` | `from(Class<T> entityClass)` Create and add a query root corresponding to the entity that is the target of the update.
    `Root<T>` | `from(EntityType<T> entity)` Create and add a query root corresponding to the entity that is the target of the update.
    `Root<T>` | `getRoot()` Return the query root.
    `<Y> CriteriaUpdate<T>` | `set(Path<Y> attribute, Expression<? extends Y> value)` Update the value of the specified attribute.
    `<Y,X extends Y> CriteriaUpdate<T>` | `set(Path<Y> attribute, X value)` Update the value of the specified attribute.
    `<Y> CriteriaUpdate<T>` | `set(SingularAttribute<? super T,Y> attribute, Expression<? extends Y> value)` Update the value of the specified attribute.
    `<Y,X extends Y> CriteriaUpdate<T>` | `set(SingularAttribute<? super T,Y> attribute, X value)` Update the value of the specified attribute.
    `CriteriaUpdate<T>` | `set(String attributeName, Object value)` Update the value of the specified attribute.
    `CriteriaUpdate<T>` | `where(Expression<Boolean> restriction)` Modify the update query to restrict the target of the update according to the specified boolean expression.
    `CriteriaUpdate<T>` | `where(Predicate... restrictions)` Modify the update query to restrict the target of the update according to the conjunction of the specified restriction predicates.

    - ### Methods inherited from interface javax.persistence.criteria.CommonAbstractCriteria

      `getRestriction, subquery`

- - ### Method Detail

    - #### from

          Root<T> from(Class<T> entityClass)

      Create and add a query root corresponding to the entity that is the target of the update. A `CriteriaUpdate` object has a single root, the entity that is being updated.
      Parameters:
        `entityClass` - the entity class
      Returns:
        query root corresponding to the given entity

    - #### from

          Root<T> from(EntityType<T> entity)

      Create and add a query root corresponding to the entity that is the target of the update. A `CriteriaUpdate` object has a single root, the entity that is being updated.
      Parameters:
        `entity` - metamodel entity representing the entity of type X
      Returns:
        query root corresponding to the given entity

    - #### getRoot

          Root<T> getRoot()

      Return the query root.
      Returns:
        the query root

    - #### set

          <Y,X extends Y> CriteriaUpdate<T> set(SingularAttribute<? super T,Y> attribute,
                                              X value)

      Update the value of the specified attribute.
      Parameters:
        `attribute` - attribute to be updated
        `value` - new value
      Returns:
        the modified update query

    - #### set

          <Y> CriteriaUpdate<T> set(SingularAttribute<? super T,Y> attribute,
                                  Expression<? extends Y> value)

      Update the value of the specified attribute.
      Parameters:
        `attribute` - attribute to be updated
        `value` - new value
      Returns:
        the modified update query

    - #### set

          <Y,X extends Y> CriteriaUpdate<T> set(Path<Y> attribute,
                                              X value)

      Update the value of the specified attribute.
      Parameters:
        `attribute` - attribute to be updated
        `value` - new value
      Returns:
        the modified update query

    - #### set

          <Y> CriteriaUpdate<T> set(Path<Y> attribute,
                                  Expression<? extends Y> value)

      Update the value of the specified attribute.
      Parameters:
        `attribute` - attribute to be updated
        `value` - new value
      Returns:
        the modified update query

    - #### set

          CriteriaUpdate<T> set(String attributeName,
                              Object value)

      Update the value of the specified attribute.
      Parameters:
        `attributeName` - name of the attribute to be updated
        `value` - new value
      Returns:
        the modified update query

    - #### where

          CriteriaUpdate<T> where(Expression<Boolean> restriction)

      Modify the update query to restrict the target of the update according to the specified boolean expression. Replaces the previously added restriction(s), if any.
      Parameters:
        `restriction` - a simple or compound boolean expression
      Returns:
        the modified update query

    - #### where

          CriteriaUpdate<T> where(Predicate... restrictions)

      Modify the update query to restrict the target of the update according to the conjunction of the specified restriction predicates. Replaces the previously added restriction(s), if any. If no restrictions are specified, any previously added restrictions are simply removed.
      Parameters:
        `restrictions` - zero or more restriction predicates
      Returns:
        the modified update query

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.