Class PrefetchSelectQuery<T>

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

public class PrefetchSelectQuery<T>
extends SelectQuery<T>
A SelectQuery to perform a prefetch based on another query. Used internally by Cayenne and is normally never used directly.
See Also:
Serialized Form
  • 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

    • getPrefetchPath

      public String getPrefetchPath()
      Returns the prefetchPath.
    • setPrefetchPath

      public void setPrefetchPath​(String prefetchPath)
      Sets the prefetchPath.
      Parameters:
      prefetchPath - The prefetchPath to set
    • 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