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
-
-