Copyright (c) 2008 - 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 Linda DeMichiel - Java Persistence 2.0
/******************************************************************************* * Copyright (c) 2008 - 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 * Linda DeMichiel - Java Persistence 2.0 * ******************************************************************************/
package javax.persistence.criteria;
The CommonAbstractCriteria interface defines functionality that is common to both top-level criteria queries and subqueries as well as to update and delete criteria operations. It is not intended to be used directly in query construction.

Note that criteria queries and criteria update and delete operations are typed differently. Criteria queries are typed according to the query result type. Update and delete operations are typed according to the target of the update or delete.

Since:Java Persistence 2.1
/** * The <code>CommonAbstractCriteria</code> interface defines functionality * that is common to both top-level criteria queries and subqueries as * well as to update and delete criteria operations. * It is not intended to be used directly in query construction. * * <p> Note that criteria queries and criteria update and delete operations * are typed differently. * Criteria queries are typed according to the query result type. * Update and delete operations are typed according to the target of the * update or delete. * * @since Java Persistence 2.1 */
public interface CommonAbstractCriteria {
Create a subquery of the query.
Params:
  • type – the subquery result type
Returns:subquery
/** * Create a subquery of the query. * @param type the subquery result type * @return subquery */
<U> Subquery<U> subquery(Class<U> type);
Return the predicate that corresponds to the where clause restriction(s), or null if no restrictions have been specified.
Returns:where clause predicate
/** * Return the predicate that corresponds to the where clause * restriction(s), or null if no restrictions have been * specified. * @return where clause predicate */
Predicate getRestriction(); }