Class PrefetchSelectQuery<T>

All Implemented Interfaces:
Serializable, ParameterizedQuery, Query, Select<T>

public class PrefetchSelectQuery<T> extends ObjectSelect<T>
A SelectQuery to perform a prefetch based on another query. Used internally by Cayenne and is normally never used directly.
Since:
4.2 this query extends ObjectSelect as part of the deprecation of the SelectQuery
See Also:
  • Field Details

    • prefetchPath

      protected String prefetchPath
      The relationship path from root objects to the objects being prefetched.
    • lastPrefetchHint

      protected ObjRelationship lastPrefetchHint
      Stores the last ObjRelationship in the prefetch path.
    • resultPaths

      protected Collection<String> resultPaths
  • Constructor Details

    • PrefetchSelectQuery

      public PrefetchSelectQuery(String prefetchPath, ObjRelationship lastPrefetchHint)
      Creates a new disjoint prefetch select query.
      Since:
      3.1
  • Method Details

    • routePrefetches

      protected void routePrefetches(QueryRouter router, EntityResolver resolver)
      Overrides:
      routePrefetches in class FluentSelect<T>
    • getPrefetchPath

      public String getPrefetchPath()
      Returns the prefetchPath.
    • setPrefetchPath

      public void setPrefetchPath(String prefetchPath)
      Sets the prefetchPath.
      Parameters:
      prefetchPath - The prefetchPath to set
    • setPrefetchTree

      public void setPrefetchTree(PrefetchTreeNode prefetch)
      Clean set of the prefetch tree without any merge with existing nodes.
      Parameters:
      prefetch - prefetch tree
      Since:
      4.2
    • getLastPrefetchHint

      public ObjRelationship getLastPrefetchHint()
      Returns last incoming ObjRelationship in the prefetch relationship chain.
      Since:
      1.1
    • setLastPrefetchHint

      public void setLastPrefetchHint(ObjRelationship relationship)
      Since:
      1.1
    • addResultPath

      public void addResultPath(String path)
      Configures an "extra" path that will resolve to an extra column (or columns) in the result set.
      Parameters:
      path - A valid path expression. E.g. "abc" or "db:ABC" or "abc.xyz".
      Since:
      1.2
    • removeResultPath

      public void removeResultPath(String path)
      Removes an extra result path. Note that this method doesn't check for expression invariants, as it doesn't have a proper context to do so. E.g. for the purpose of this method "db:ARTIST_NAME" and "obj:artistName" are not the same, though both will resolve to the same column name.
    • getResultPaths

      public Collection<String> getResultPaths()
      Returns extra result paths.
      Since:
      1.2