Interface From<Z,X>

Type Parameters:
Z - the source type
X - 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 Details Link icon

    • getJoins Link icon

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

      boolean isCorrelated()
      Whether the From object has been obtained as a result of correlation (use of a Subquery.correlate(jakarta.persistence.criteria.Root<Y>) method).
      Returns:
      boolean indicating whether the object has been obtained through correlation
    • getCorrelationParent Link icon

      From<Z,X> getCorrelationParent()
      Returns the parent From object from which the correlated From object has been obtained through correlation (use of Subquery.correlate(jakarta.persistence.criteria.Root<Y>) method).
      Returns:
      the parent of the correlated From object
      Throws:
      IllegalStateException - if the From object has not been obtained through correlation
    • join Link icon

      <Y> Join<X,Y> join(Class<Y> entityClass)
      Create and add an inner join to the given entity.
      Parameters:
      entityClass - the target entity class
      Returns:
      the resulting join
      Since:
      3.2
    • join Link icon

      <Y> Join<X,Y> join(Class<Y> entityClass, JoinType joinType)
      Create and add a join to the given entity.
      Parameters:
      entityClass - the target entity class
      joinType - join type
      Returns:
      the resulting join
      Since:
      3.2
    • join Link icon

      <Y> Join<X,Y> join(EntityType<Y> entity)
      Create and add an inner join to the given entity.
      Parameters:
      entity - metamodel entity representing the join target
      Returns:
      the resulting join
      Since:
      3.2
    • join Link icon

      <Y> Join<X,Y> join(EntityType<Y> entity, JoinType joinType)
      Create and add a join to the given entity.
      Parameters:
      entity - metamodel entity representing the join target
      joinType - join type
      Returns:
      the resulting join
      Since:
      3.2
    • join Link icon

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

      <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 join
      jt - join type
      Returns:
      the resulting join
    • join Link icon

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

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

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

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

      <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 join
      jt - join type
      Returns:
      the resulting join
    • join Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
    • join Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
    • join Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
    • join Link icon

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

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

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

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

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

      <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 join
      jt - join type
      Returns:
      the resulting join
      Throws:
      IllegalArgumentException - if attribute of the given name does not exist
    • joinCollection Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
      Throws:
      IllegalArgumentException - if attribute of the given name does not exist
    • joinSet Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
      Throws:
      IllegalArgumentException - if attribute of the given name does not exist
    • joinList Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
      Throws:
      IllegalArgumentException - if attribute of the given name does not exist
    • joinMap Link icon

      <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 join
      jt - join type
      Returns:
      the resulting join
      Throws:
      IllegalArgumentException - if attribute of the given name does not exist