Package jakarta.persistence.criteria
Interface From<Z,X>
-
- Type Parameters:
Z
- the source typeX
- the target type
- All Superinterfaces:
Expression<X>
,FetchParent<Z,X>
,Path<X>
,Selection<X>
,TupleElement<X>
- All Known Subinterfaces:
CollectionJoin<Z,E>
,Join<Z,X>
,ListJoin<Z,E>
,MapJoin<Z,K,V>
,PluralJoin<Z,C,E>
,Root<X>
,SetJoin<Z,E>
public interface From<Z,X> extends Path<X>, FetchParent<Z,X>
Represents a bound type, usually an entity that appears in the from clause, but may also be an embeddable belonging to an entity in the from clause.Serves as a factory for Joins of associations, embeddables, and collections belonging to the type, and for Paths of attributes belonging to the type.
- Since:
- 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description From<Z,X>
getCorrelationParent()
Returns the parentFrom
object from which the correlatedFrom
object has been obtained through correlation (use of aSubquery
correlate
method).Set<Join<X,?>>
getJoins()
Return the joins that have been made from this bound type.boolean
isCorrelated()
Whether theFrom
object has been obtained as a result of correlation (use of aSubquery
correlate
method).<Y> CollectionJoin<X,Y>
join(CollectionAttribute<? super X,Y> collection)
Create an inner join to the specified Collection-valued attribute.<Y> CollectionJoin<X,Y>
join(CollectionAttribute<? super X,Y> collection, JoinType jt)
Create a join to the specified Collection-valued attribute using the given join type.<Y> ListJoin<X,Y>
join(ListAttribute<? super X,Y> list)
Create an inner join to the specified List-valued attribute.<Y> ListJoin<X,Y>
join(ListAttribute<? super X,Y> list, JoinType jt)
Create a join to the specified List-valued attribute using the given join type.<K,V>
MapJoin<X,K,V>join(MapAttribute<? super X,K,V> map)
Create an inner join to the specified Map-valued attribute.<K,V>
MapJoin<X,K,V>join(MapAttribute<? super X,K,V> map, JoinType jt)
Create a join to the specified Map-valued attribute using the given join type.<Y> SetJoin<X,Y>
join(SetAttribute<? super X,Y> set)
Create an inner join to the specified Set-valued attribute.<Y> SetJoin<X,Y>
join(SetAttribute<? super X,Y> set, JoinType jt)
Create a join to the specified Set-valued attribute using the given join type.<Y> Join<X,Y>
join(SingularAttribute<? super X,Y> attribute)
Create an inner join to the specified single-valued attribute.<Y> Join<X,Y>
join(SingularAttribute<? super X,Y> attribute, JoinType jt)
Create a join to the specified single-valued attribute using the given join type.<X,Y>
Join<X,Y>join(String attributeName)
Create an inner join to the specified attribute.<X,Y>
Join<X,Y>join(String attributeName, JoinType jt)
Create a join to the specified attribute using the given join type.<X,Y>
CollectionJoin<X,Y>joinCollection(String attributeName)
Create an inner join to the specified Collection-valued attribute.<X,Y>
CollectionJoin<X,Y>joinCollection(String attributeName, JoinType jt)
Create a join to the specified Collection-valued attribute using the given join type.<X,Y>
ListJoin<X,Y>joinList(String attributeName)
Create an inner join to the specified List-valued attribute.<X,Y>
ListJoin<X,Y>joinList(String attributeName, JoinType jt)
Create a join to the specified List-valued attribute using the given join type.<X,K,V>
MapJoin<X,K,V>joinMap(String attributeName)
Create an inner join to the specified Map-valued attribute.<X,K,V>
MapJoin<X,K,V>joinMap(String attributeName, JoinType jt)
Create a join to the specified Map-valued attribute using the given join type.<X,Y>
SetJoin<X,Y>joinSet(String attributeName)
Create an inner join to the specified Set-valued attribute.<X,Y>
SetJoin<X,Y>joinSet(String attributeName, JoinType jt)
Create a join to the specified Set-valued attribute using the given join type.-
Methods inherited from interface jakarta.persistence.criteria.Expression
as, in, in, in, in, isNotNull, isNull
-
Methods inherited from interface jakarta.persistence.criteria.FetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetches
-
Methods inherited from interface jakarta.persistence.criteria.Path
get, get, get, get, getModel, getParentPath, type
-
Methods inherited from interface jakarta.persistence.criteria.Selection
alias, getCompoundSelectionItems, isCompoundSelection
-
Methods inherited from interface jakarta.persistence.TupleElement
getAlias, getJavaType
-
-
-
-
Method Detail
-
getJoins
Set<Join<X,?>> getJoins()
Return the joins that have been made from this bound type. Returns empty set if no joins have been made from this bound type. Modifications to the set do not affect the query.- Returns:
- joins made from this type
-
isCorrelated
boolean isCorrelated()
Whether theFrom
object has been obtained as a result of correlation (use of aSubquery
correlate
method).- Returns:
- boolean indicating whether the object has been obtained through correlation
-
getCorrelationParent
From<Z,X> getCorrelationParent()
Returns the parentFrom
object from which the correlatedFrom
object has been obtained through correlation (use of aSubquery
correlate
method).- Returns:
- the parent of the correlated From object
- Throws:
IllegalStateException
- if the From object has not been obtained through correlation
-
join
<Y> Join<X,Y> join(SingularAttribute<? super X,Y> attribute)
Create an inner join to the specified single-valued attribute.- Parameters:
attribute
- target of the join- Returns:
- the resulting join
-
join
<Y> Join<X,Y> join(SingularAttribute<? super X,Y> attribute, JoinType jt)
Create a join to the specified single-valued attribute using the given join type.- Parameters:
attribute
- target of the joinjt
- join type- Returns:
- the resulting join
-
join
<Y> CollectionJoin<X,Y> join(CollectionAttribute<? super X,Y> collection)
Create an inner join to the specified Collection-valued attribute.- Parameters:
collection
- target of the join- Returns:
- the resulting join
-
join
<Y> SetJoin<X,Y> join(SetAttribute<? super X,Y> set)
Create an inner join to the specified Set-valued attribute.- Parameters:
set
- target of the join- Returns:
- the resulting join
-
join
<Y> ListJoin<X,Y> join(ListAttribute<? super X,Y> list)
Create an inner join to the specified List-valued attribute.- Parameters:
list
- target of the join- Returns:
- the resulting join
-
join
<K,V> MapJoin<X,K,V> join(MapAttribute<? super X,K,V> map)
Create an inner join to the specified Map-valued attribute.- Parameters:
map
- target of the join- Returns:
- the resulting join
-
join
<Y> CollectionJoin<X,Y> join(CollectionAttribute<? super X,Y> collection, JoinType jt)
Create a join to the specified Collection-valued attribute using the given join type.- Parameters:
collection
- target of the joinjt
- join type- Returns:
- the resulting join
-
join
<Y> SetJoin<X,Y> join(SetAttribute<? super X,Y> set, JoinType jt)
Create a join to the specified Set-valued attribute using the given join type.- Parameters:
set
- target of the joinjt
- join type- Returns:
- the resulting join
-
join
<Y> ListJoin<X,Y> join(ListAttribute<? super X,Y> list, JoinType jt)
Create a join to the specified List-valued attribute using the given join type.- Parameters:
list
- target of the joinjt
- join type- Returns:
- the resulting join
-
join
<K,V> MapJoin<X,K,V> join(MapAttribute<? super X,K,V> map, JoinType jt)
Create a join to the specified Map-valued attribute using the given join type.- Parameters:
map
- target of the joinjt
- join type- Returns:
- the resulting join
-
join
<X,Y> Join<X,Y> join(String attributeName)
Create an inner join to the specified attribute.- Parameters:
attributeName
- name of the attribute for the target of the join- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinCollection
<X,Y> CollectionJoin<X,Y> joinCollection(String attributeName)
Create an inner join to the specified Collection-valued attribute.- Parameters:
attributeName
- name of the attribute for the target of the join- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinSet
<X,Y> SetJoin<X,Y> joinSet(String attributeName)
Create an inner join to the specified Set-valued attribute.- Parameters:
attributeName
- name of the attribute for the target of the join- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinList
<X,Y> ListJoin<X,Y> joinList(String attributeName)
Create an inner join to the specified List-valued attribute.- Parameters:
attributeName
- name of the attribute for the target of the join- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinMap
<X,K,V> MapJoin<X,K,V> joinMap(String attributeName)
Create an inner join to the specified Map-valued attribute.- Parameters:
attributeName
- name of the attribute for the target of the join- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
join
<X,Y> Join<X,Y> join(String attributeName, JoinType jt)
Create a join to the specified attribute using the given join type.- Parameters:
attributeName
- name of the attribute for the target of the joinjt
- join type- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinCollection
<X,Y> CollectionJoin<X,Y> joinCollection(String attributeName, JoinType jt)
Create a join to the specified Collection-valued attribute using the given join type.- Parameters:
attributeName
- name of the attribute for the target of the joinjt
- join type- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinSet
<X,Y> SetJoin<X,Y> joinSet(String attributeName, JoinType jt)
Create a join to the specified Set-valued attribute using the given join type.- Parameters:
attributeName
- name of the attribute for the target of the joinjt
- join type- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinList
<X,Y> ListJoin<X,Y> joinList(String attributeName, JoinType jt)
Create a join to the specified List-valued attribute using the given join type.- Parameters:
attributeName
- name of the attribute for the target of the joinjt
- join type- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
joinMap
<X,K,V> MapJoin<X,K,V> joinMap(String attributeName, JoinType jt)
Create a join to the specified Map-valued attribute using the given join type.- Parameters:
attributeName
- name of the attribute for the target of the joinjt
- join type- Returns:
- the resulting join
- Throws:
IllegalArgumentException
- if attribute of the given name does not exist
-
-