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; import javax.persistence.metamodel.PluralAttribute; import javax.persistence.metamodel.SingularAttribute;
Represents an element of the from clause which may function as the parent of Fetches.
Type parameters:
  • <Z> – the source type
  • <X> – the target type
Since:Java Persistence 2.0
/** * Represents an element of the from clause which may * function as the parent of Fetches. * * @param <Z> the source type * @param <X> the target type * * @since Java Persistence 2.0 */
public interface FetchParent<Z, X> {
Return the fetch joins that have been made from this type. Returns empty set if no fetch joins have been made from this type. Modifications to the set do not affect the query. @return fetch joins made from this type
/** * Return the fetch joins that have been made from this type. * Returns empty set if no fetch joins have been made from * this type. * Modifications to the set do not affect the query. * @return fetch joins made from this type */
java.util.Set<Fetch<X, ?>> getFetches();
Create a fetch join to the specified single-valued attribute using an inner join. @param attribute target of the join @return the resulting fetch join
/** * Create a fetch join to the specified single-valued attribute * using an inner join. * @param attribute target of the join * @return the resulting fetch join */
<Y> Fetch<X, Y> fetch(SingularAttribute<? super X, Y> attribute);
Create a fetch join to the specified single-valued attribute using the given join type. @param attribute target of the join @param jt join type @return the resulting fetch join
/** * Create a fetch join to the specified single-valued attribute * using the given join type. * @param attribute target of the join * @param jt join type * @return the resulting fetch join */
<Y> Fetch<X, Y> fetch(SingularAttribute<? super X, Y> attribute, JoinType jt);
Create a fetch join to the specified collection-valued attribute using an inner join. @param attribute target of the join @return the resulting join
/** * Create a fetch join to the specified collection-valued * attribute using an inner join. * @param attribute target of the join * @return the resulting join */
<Y> Fetch<X, Y> fetch(PluralAttribute<? super X, ?, Y> attribute);
Create a fetch join to the specified collection-valued attribute using the given join type. @param attribute target of the join @param jt join type @return the resulting join
/** * Create a fetch join to the specified collection-valued * attribute using the given join type. * @param attribute target of the join * @param jt join type * @return the resulting join */
<Y> Fetch<X, Y> fetch(PluralAttribute<? super X, ?, Y> attribute, JoinType jt); //String-based:
Create a fetch join to the specified attribute using an inner join. @param attributeName name of the attribute for the target of the join @return the resulting fetch join @throws IllegalArgumentException if attribute of the given name does not exist
/** * Create a fetch join to the specified attribute using an * inner join. * @param attributeName name of the attribute for the * target of the join * @return the resulting fetch join * @throws IllegalArgumentException if attribute of the given * name does not exist */
@SuppressWarnings("hiding") <X, Y> Fetch<X, Y> fetch(String attributeName);
Create a fetch join to the specified attribute using the given join type. @param attributeName name of the attribute for the target of the join @param jt join type @return the resulting fetch join @throws IllegalArgumentException if attribute of the given name does not exist
/** * Create a fetch join to the specified attribute using * the given join type. * @param attributeName name of the attribute for the * target of the join * @param jt join type * @return the resulting fetch join * @throws IllegalArgumentException if attribute of the given * name does not exist */
@SuppressWarnings("hiding") <X, Y> Fetch<X, Y> fetch(String attributeName, JoinType jt); }