Package jakarta.persistence.criteria
Interface Path<X>
- 
- Type Parameters:
 X- the type referenced by the path
- All Superinterfaces:
 Expression<X>,Selection<X>,TupleElement<X>
- All Known Subinterfaces:
 CollectionJoin<Z,E>,From<Z,X>,Join<Z,X>,ListJoin<Z,E>,MapJoin<Z,K,V>,PluralJoin<Z,C,E>,Root<X>,SetJoin<Z,E>
public interface Path<X> extends Expression<X>
Represents a simple or compound attribute path from a bound type or collection, and is a "primitive" expression.- Since:
 - 2.0
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <K,V,M extends Map<K,V>>
Expression<M>get(MapAttribute<X,K,V> map)Create a path corresponding to the referenced map-valued attribute.<E,C extends Collection<E>>
Expression<C>get(PluralAttribute<X,C,E> collection)Create a path corresponding to the referenced collection-valued attribute.<Y> Path<Y>get(SingularAttribute<? super X,Y> attribute)Create a path corresponding to the referenced single-valued attribute.<Y> Path<Y>get(String attributeName)Create a path corresponding to the referenced attribute.Bindable<X>getModel()Return the bindable object that corresponds to the path expression.Path<?>getParentPath()Return the parent "node" in the path or null if no parent.Expression<Class<? extends X>>type()Create an expression corresponding to the type of the path.- 
Methods inherited from interface jakarta.persistence.criteria.Expression
as, in, in, in, in, isNotNull, isNull 
- 
Methods inherited from interface jakarta.persistence.criteria.Selection
alias, getCompoundSelectionItems, isCompoundSelection 
- 
Methods inherited from interface jakarta.persistence.TupleElement
getAlias, getJavaType 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getModel
Bindable<X> getModel()
Return the bindable object that corresponds to the path expression.- Returns:
 - bindable object corresponding to the path
 
 
- 
getParentPath
Path<?> getParentPath()
Return the parent "node" in the path or null if no parent.- Returns:
 - parent
 
 
- 
get
<Y> Path<Y> get(SingularAttribute<? super X,Y> attribute)
Create a path corresponding to the referenced single-valued attribute.- Parameters:
 attribute- single-valued attribute- Returns:
 - path corresponding to the referenced attribute
 
 
- 
get
<E,C extends Collection<E>> Expression<C> get(PluralAttribute<X,C,E> collection)
Create a path corresponding to the referenced collection-valued attribute.- Parameters:
 collection- collection-valued attribute- Returns:
 - expression corresponding to the referenced attribute
 
 
- 
get
<K,V,M extends Map<K,V>> Expression<M> get(MapAttribute<X,K,V> map)
Create a path corresponding to the referenced map-valued attribute.- Parameters:
 map- map-valued attribute- Returns:
 - expression corresponding to the referenced attribute
 
 
- 
type
Expression<Class<? extends X>> type()
Create an expression corresponding to the type of the path.- Returns:
 - expression corresponding to the type of the path
 
 
- 
get
<Y> Path<Y> get(String attributeName)
Create a path corresponding to the referenced attribute.Note: Applications using the string-based API may need to specify the type resulting from the
getoperation in order to avoid the use ofPathvariables.For example: CriteriaQuery<Person> q = cb.createQuery(Person.class); Root<Person> p = q.from(Person.class); q.select(p) .where(cb.isMember("joe", p.<Set<String>>get("nicknames"))); rather than: CriteriaQuery<Person> q = cb.createQuery(Person.class); Root<Person> p = q.from(Person.class); Path<Set<String>> nicknames = p.get("nicknames"); q.select(p) .where(cb.isMember("joe", nicknames));- Parameters:
 attributeName- name of the attribute- Returns:
 - path corresponding to the referenced attribute
 - Throws:
 IllegalStateException- if invoked on a path that corresponds to a basic typeIllegalArgumentException- if attribute of the given name does not otherwise exist
 
 - 
 
 -