Interface SqmFrom<O,T>

All Superinterfaces:
Expression<T>, FetchParent<O,T>, From<O,T>, JpaCriteriaNode, JpaExpression<T>, JpaFetchParent<O,T>, JpaFrom<O,T>, JpaPath<T>, JpaSelection<T>, JpaTupleElement<T>, Path<T>, Selection<T>, SemanticPathPart, Serializable, SqmExpressibleAccessor<T>, SqmExpression<T>, SqmNode, SqmPath<T>, SqmSelectableNode<T>, SqmTypedNode<T>, SqmVisitableNode, TupleElement<T>
All Known Subinterfaces:
SqmAttributeJoin<O,T>, SqmCorrelation<O,T>, SqmJoin<O,T>, SqmQualifiedJoin<O,T>
All Known Implementing Classes:
AbstractSqmAttributeJoin, AbstractSqmFrom, AbstractSqmJoin, AbstractSqmPluralJoin, AbstractSqmQualifiedJoin, SqmBagJoin, SqmCorrelatedBagJoin, SqmCorrelatedCrossJoin, SqmCorrelatedEntityJoin, SqmCorrelatedListJoin, SqmCorrelatedMapJoin, SqmCorrelatedPluralPartJoin, SqmCorrelatedRoot, SqmCorrelatedRootJoin, SqmCorrelatedSetJoin, SqmCorrelatedSingularJoin, SqmCrossJoin, SqmCteJoin, SqmCteRoot, SqmDerivedJoin, SqmDerivedRoot, SqmEntityJoin, SqmListJoin, SqmMapJoin, SqmPluralPartJoin, SqmRoot, SqmSetJoin, SqmSingularJoin, SqmTreatedBagJoin, SqmTreatedCrossJoin, SqmTreatedEntityJoin, SqmTreatedListJoin, SqmTreatedMapJoin, SqmTreatedPluralPartJoin, SqmTreatedRoot, SqmTreatedSetJoin, SqmTreatedSingularJoin

public interface SqmFrom<O,T> extends SqmVisitableNode, SqmPath<T>, JpaFrom<O,T>
Models a Bindable's inclusion in the FROM clause.
Author:
Steve Ebersole
  • Method Details

    • getReferencedPathSource

      SqmPathSource<T> getReferencedPathSource()
      The Navigable for an SqmFrom will always be a NavigableContainer The path source that this path refers to (and that most likely created it).
      Specified by:
      getReferencedPathSource in interface SqmPath<O>
      Returns:
      See Also:
    • hasJoins

      boolean hasJoins()
    • getSqmJoins

      List<SqmJoin<T,?>> getSqmJoins()
      The joins associated with this SqmFrom
    • addSqmJoin

      void addSqmJoin(SqmJoin<T,?> join)
      Add an associated join
    • visitSqmJoins

      void visitSqmJoins(Consumer<SqmJoin<T,?>> consumer)
      Visit all associated joins
    • getSqmTreats

      List<SqmFrom<?,?>> getSqmTreats()
      The treats associated with this SqmFrom
    • hasTreats

      default boolean hasTreats()
    • treatAs

      <S extends T> SqmFrom<?,S> treatAs(Class<S> treatAsType)
      Description copied from interface: JpaPath
      Support for JPA's explicit (TREAT) down-casting.
      Specified by:
      treatAs in interface JpaPath<O>
      Specified by:
      treatAs in interface SqmPath<O>
    • treatAs

      <S extends T> SqmFrom<?,S> treatAs(EntityDomainType<S> treatAsType)
      Description copied from interface: JpaPath
      Support for JPA's explicit (TREAT) down-casting.
      Specified by:
      treatAs in interface JpaPath<O>
      Specified by:
      treatAs in interface SqmPath<O>
    • treatAs

      <S extends T> SqmFrom<?,S> treatAs(Class<S> treatJavaType, String alias)
    • treatAs

      <S extends T> SqmFrom<?,S> treatAs(EntityDomainType<S> treatTarget, String alias)
    • getCorrelationParent

      SqmFrom<O,T> getCorrelationParent()
      Description copied from interface: From
      Returns the parent From object from which the correlated From object has been obtained through correlation (use of a Subquery correlate method).
      Specified by:
      getCorrelationParent in interface From<O,T>
      Specified by:
      getCorrelationParent in interface JpaFrom<O,T>
      Returns:
      the parent of the correlated From object
    • join

      <A> SqmSingularJoin<T,A> join(SingularAttribute<? super T,A> attribute)
      Description copied from interface: From
      Create an inner join to the specified single-valued attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attribute - target of the join
      Returns:
      the resulting join
    • join

      <A> SqmSingularJoin<T,A> join(SingularAttribute<? super T,A> attribute, JoinType jt)
      Description copied from interface: From
      Create a join to the specified single-valued attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attribute - target of the join
      jt - join type
      Returns:
      the resulting join
    • join

      <E> SqmBagJoin<T,E> join(CollectionAttribute<? super T,E> attribute)
      Description copied from interface: From
      Create an inner join to the specified Collection-valued attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attribute - target of the join
      Returns:
      the resulting join
    • join

      <E> SqmBagJoin<T,E> join(CollectionAttribute<? super T,E> attribute, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Collection-valued attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attribute - target of the join
      jt - join type
      Returns:
      the resulting join
    • join

      <E> SqmSetJoin<T,E> join(SetAttribute<? super T,E> set)
      Description copied from interface: From
      Create an inner join to the specified Set-valued attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      set - target of the join
      Returns:
      the resulting join
    • join

      <E> SqmSetJoin<T,E> join(SetAttribute<? super T,E> set, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Set-valued attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      set - target of the join
      jt - join type
      Returns:
      the resulting join
    • join

      <E> SqmListJoin<T,E> join(ListAttribute<? super T,E> list)
      Description copied from interface: From
      Create an inner join to the specified List-valued attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      list - target of the join
      Returns:
      the resulting join
    • join

      <E> SqmListJoin<T,E> join(ListAttribute<? super T,E> list, JoinType jt)
      Description copied from interface: From
      Create a join to the specified List-valued attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      list - target of the join
      jt - join type
      Returns:
      the resulting join
    • join

      <K, V> SqmMapJoin<T,K,V> join(MapAttribute<? super T,K,V> map)
      Description copied from interface: From
      Create an inner join to the specified Map-valued attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      map - target of the join
      Returns:
      the resulting join
    • join

      <K, V> SqmMapJoin<T,K,V> join(MapAttribute<? super T,K,V> map, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Map-valued attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      map - target of the join
      jt - join type
      Returns:
      the resulting join
    • join

      <X, Y> SqmAttributeJoin<X,Y> join(String attributeName)
      Description copied from interface: From
      Create an inner join to the specified attribute.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      Returns:
      the resulting join
    • join

      <X, Y> SqmAttributeJoin<X,Y> join(String attributeName, JoinType jt)
      Description copied from interface: From
      Create a join to the specified attribute using the given join type.
      Specified by:
      join in interface From<O,T>
      Specified by:
      join in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      jt - join type
      Returns:
      the resulting join
    • joinCollection

      <X, Y> SqmBagJoin<X,Y> joinCollection(String attributeName)
      Description copied from interface: From
      Create an inner join to the specified Collection-valued attribute.
      Specified by:
      joinCollection in interface From<O,T>
      Specified by:
      joinCollection in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      Returns:
      the resulting join
    • joinCollection

      <X, Y> SqmBagJoin<X,Y> joinCollection(String attributeName, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Collection-valued attribute using the given join type.
      Specified by:
      joinCollection in interface From<O,T>
      Specified by:
      joinCollection in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      jt - join type
      Returns:
      the resulting join
    • joinSet

      <X, Y> SqmSetJoin<X,Y> joinSet(String attributeName)
      Description copied from interface: From
      Create an inner join to the specified Set-valued attribute.
      Specified by:
      joinSet in interface From<O,T>
      Specified by:
      joinSet in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      Returns:
      the resulting join
    • joinSet

      <X, Y> SqmSetJoin<X,Y> joinSet(String attributeName, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Set-valued attribute using the given join type.
      Specified by:
      joinSet in interface From<O,T>
      Specified by:
      joinSet in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      jt - join type
      Returns:
      the resulting join
    • joinList

      <X, Y> SqmListJoin<X,Y> joinList(String attributeName)
      Description copied from interface: From
      Create an inner join to the specified List-valued attribute.
      Specified by:
      joinList in interface From<O,T>
      Specified by:
      joinList in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      Returns:
      the resulting join
    • joinList

      <X, Y> SqmListJoin<X,Y> joinList(String attributeName, JoinType jt)
      Description copied from interface: From
      Create a join to the specified List-valued attribute using the given join type.
      Specified by:
      joinList in interface From<O,T>
      Specified by:
      joinList in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      jt - join type
      Returns:
      the resulting join
    • joinMap

      <X, K, V> SqmMapJoin<X,K,V> joinMap(String attributeName)
      Description copied from interface: From
      Create an inner join to the specified Map-valued attribute.
      Specified by:
      joinMap in interface From<O,T>
      Specified by:
      joinMap in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      Returns:
      the resulting join
    • joinMap

      <X, K, V> SqmMapJoin<X,K,V> joinMap(String attributeName, JoinType jt)
      Description copied from interface: From
      Create a join to the specified Map-valued attribute using the given join type.
      Specified by:
      joinMap in interface From<O,T>
      Specified by:
      joinMap in interface JpaFrom<O,T>
      Parameters:
      attributeName - name of the attribute for the target of the join
      jt - join type
      Returns:
      the resulting join
    • copy

      SqmFrom<O,T> copy(SqmCopyContext context)
      Specified by:
      copy in interface SqmExpression<O>
      Specified by:
      copy in interface SqmNode
      Specified by:
      copy in interface SqmPath<O>
      Specified by:
      copy in interface SqmSelectableNode<O>
      Specified by:
      copy in interface SqmTypedNode<O>