Copyright (c) 2011 - 2013 Oracle Corporation. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
which accompanies this distribution.
The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
and the Eclipse Distribution License is available at
http://www.eclipse.org/org/documents/edl-v10.php.
Contributors:
Linda DeMichiel - Java Persistence 2.1
/*******************************************************************************
* Copyright (c) 2011 - 2013 Oracle Corporation. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Linda DeMichiel - Java Persistence 2.1
*
******************************************************************************/
package javax.persistence.criteria;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.EntityType;
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.
Type parameters: - <T> – the entity type that is the target of the update
Since: Java Persistence 2.1
/**
* The <code>CriteriaUpdate</code> interface defines functionality for performing
* bulk update operations using the Criteria API.
*
* <p>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.
*
* <p> A <code>CriteriaUpdate</code> object must have a single root.
*
* @param <T> the entity type that is the target of the update
*
* @since Java Persistence 2.1
*/
public interface CriteriaUpdate<T> extends CommonAbstractCriteria {
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.
Params: - entityClass – the entity class
Returns: query root corresponding to the given entity
/**
* Create and add a query root corresponding to the entity
* that is the target of the update.
* A <code>CriteriaUpdate</code> object has a single root, the entity that
* is being updated.
* @param entityClass the entity class
* @return query root corresponding to the given entity
*/
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.
Params: - entity – metamodel entity representing the entity
of type X
Returns: query root corresponding to the given entity
/**
* Create and add a query root corresponding to the entity
* that is the target of the update.
* A <code>CriteriaUpdate</code> object has a single root, the entity that
* is being updated.
* @param entity metamodel entity representing the entity
* of type X
* @return query root corresponding to the given entity
*/
Root<T> from(EntityType<T> entity);
Return the query root.
Returns: the query root
/**
* Return the query root.
* @return the query root
*/
Root<T> getRoot();
Update the value of the specified attribute.
Params: - attribute – attribute to be updated
- value – new value
Returns: the modified update query
/**
* Update the value of the specified attribute.
* @param attribute attribute to be updated
* @param value new value
* @return the modified update query
*/
<Y, X extends Y> CriteriaUpdate<T> set( SingularAttribute<? super T, Y> attribute, X value);
Update the value of the specified attribute.
Params: - attribute – attribute to be updated
- value – new value
Returns: the modified update query
/**
* Update the value of the specified attribute.
* @param attribute attribute to be updated
* @param value new value
* @return the modified update query
*/
<Y> CriteriaUpdate<T> set( SingularAttribute<? super T, Y> attribute, Expression<? extends Y> value);
Update the value of the specified attribute.
Params: - attribute – attribute to be updated
- value – new value
Returns: the modified update query
/**
* Update the value of the specified attribute.
* @param attribute attribute to be updated
* @param value new value
* @return the modified update query
*/
<Y, X extends Y> CriteriaUpdate<T> set(Path<Y> attribute, X value);
Update the value of the specified attribute.
Params: - attribute – attribute to be updated
- value – new value
Returns: the modified update query
/**
* Update the value of the specified attribute.
* @param attribute attribute to be updated
* @param value new value
* @return the modified update query
*/
<Y> CriteriaUpdate<T> set(Path<Y> attribute, Expression<? extends Y> value);
Update the value of the specified attribute.
Params: - attributeName – name of the attribute to be updated
- value – new value
Returns: the modified update query
/**
* Update the value of the specified attribute.
* @param attributeName name of the attribute to be updated
* @param value new value
* @return the modified update query
*/
CriteriaUpdate<T> set(String attributeName, Object value);
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.
Params: - restriction – a simple or compound boolean expression
Returns: the modified update query
/**
* 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.
* @param restriction a simple or compound boolean expression
* @return the modified update query
*/
CriteriaUpdate<T> where(Expression<Boolean> restriction);
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.
Params: - restrictions – zero or more restriction predicates
Returns: the modified update query
/**
* 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.
* @param restrictions zero or more restriction predicates
* @return the modified update query
*/
CriteriaUpdate<T> where(Predicate... restrictions);
}