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

All Methods Instance Methods Abstract Methods
`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