javax.persistence.criteria
Interface CriteriaUpdate<T>

Type Parameters:
T - the entity type that is the target of the update

public interface CriteriaUpdate<T>

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
 Root<T> from(java.lang.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.
 Predicate getRestriction()
          Return the predicate that corresponds to the where clause restriction(s), or null if no restrictions have been specified.
 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(java.lang.String attributeName, java.lang.Object value)
          Update the value of the specified attribute.
<U> Subquery<U>
subquery(java.lang.Class<U> type)
          Create a subquery of the query.
 CriteriaUpdate<T> where(Expression<java.lang.Boolean> restriction)
          Modify the query to restrict the target of the update according to the specified boolean expression.
 CriteriaUpdate<T> where(Predicate... restrictions)
          Modify the query to restrict the target of the update according to the conjunction of the specified restriction predicates.
 

Method Detail

from

Root<T> from(java.lang.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 object 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 object 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 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 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 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 query

set

CriteriaUpdate<T> set(java.lang.String attributeName,
                      java.lang.Object value)
Update the value of the specified attribute.

Parameters:
attributeName - name of the attribute to be updated
value - new value
Returns:
the modified query

where

CriteriaUpdate<T> where(Expression<java.lang.Boolean> restriction)
Modify the 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 query

where

CriteriaUpdate<T> where(Predicate... restrictions)
Modify the 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 query

subquery

<U> Subquery<U> subquery(java.lang.Class<U> type)
Create a subquery of the query.

Parameters:
type - the subquery result type
Returns:
subquery

getRestriction

Predicate getRestriction()
Return the predicate that corresponds to the where clause restriction(s), or null if no restrictions have been specified.

Returns:
where clause predicate