## Uses of Interface
org.apache.cayenne.query.Select

- Packages that use Select
  Package | Description
  --- | ---
  org.apache.cayenne | Contains persistence APIs directly accessible by users.
  org.apache.cayenne.access | Contains classes that make up Cayenne ORM stack.
  org.apache.cayenne.query | Defines standard queries supported by Cayenne and extension mechanism to create custom queries.

- - ### Uses of Select in org.apache.cayenne

    Methods in org.apache.cayenne with parameters of type Select
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> ResultBatchIterator<T>` | BaseContext.`batchIterator​(Select<T> query, int size)` |
    `<T> ResultBatchIterator<T>` | ObjectContext.`batchIterator​(Select<T> query, int size)` | Creates a ResultBatchIterator based on the provided query and batch size.
    `<T> void` | BaseContext.`iterate​(Select<T> query, ResultIteratorCallback<T> callback)` |
    `<T> void` | ObjectContext.`iterate​(Select<T> query, ResultIteratorCallback<T> callback)` | Creates a ResultIterator based on the provided query and passes it to a callback for processing.
    `abstract <T> ResultIterator<T>` | BaseContext.`iterator​(Select<T> query)` |
    `<T> ResultIterator<T>` | ObjectContext.`iterator​(Select<T> query)` | Creates a ResultIterator based on the provided query.
    `<T> List<T>` | BaseContext.`select​(Select<T> query)` |
    `<T> List<T>` | ObjectContext.`select​(Select<T> query)` | Executes a selecting query, returning a list of persistent objects or data rows.
    `<T> T` | BaseContext.`selectFirst​(Select<T> query)` |
    `<T> T` | ObjectContext.`selectFirst​(Select<T> query)` | Selects a single object using provided query.
    `<T> T` | BaseContext.`selectOne​(Select<T> query)` |
    `<T> T` | ObjectContext.`selectOne​(Select<T> query)` | Executes a selecting query, returning either NULL if query matched no objects, or a single object.

  - ### Uses of Select in org.apache.cayenne.access

    Methods in org.apache.cayenne.access with parameters of type Select
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> ResultIterator<T>` | DataContext.`iterator​(Select<T> query)` |

  - ### Uses of Select in org.apache.cayenne.query

    Classes in org.apache.cayenne.query that implement Select
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `ColumnSelect<T>` | A helper builder for queries selecting individual properties based on the root object.
    `class` | `FluentSelect<T>` | Base class for `ObjectSelect` and `ColumnSelect`
    `class` | `MappedSelect<T>` | A query that represents a named parameterized selecting query stored in the mapping.
    `class` | `ObjectSelect<T>` | A selecting query providing chainable API.
    `class` | `PrefetchSelectQuery<T>` | A SelectQuery to perform a prefetch based on another query.
    `class` | `SelectById<T>` | A query to select single objects by id.
    `class` | `SelectQuery<T>` | A query that selects persistent objects of a certain type or "raw data" (aka DataRows).
    `class` | `SQLSelect<T>` | A selecting query based on raw SQL and featuring fluent API.