# Class SelectAction

java.lang.Object
org.apache.cayenne.access.jdbc.BaseSQLAction
org.apache.cayenne.access.jdbc.SelectAction

All Implemented Interfaces:
  `SQLAction`

Direct Known Subclasses:
  `DB2SelectAction, DerbySelectAction, FirebirdSelectAction, H2SelectAction, IngresSelectAction, SQLiteSelectAction, SQLServerSelectAction`

public class SelectAction extends BaseSQLAction
A SQLAction that handles SelectQuery execution.

Since:
  1.2

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Select<?>`
  `query`
  `protected QueryMetadata`
  `queryMetadata`

  ### Fields inherited from class BaseSQLAction

  `dataNode`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SelectAction(Select<?> query, DataNode dataNode)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `performAction(Connection connection, OperationObserver observer)`
  Executes a query using a strategy defined by the implementation.
  `protected void`
  `performAction(Connection connection, OperationObserver observer, TranslatedSelect translated)`

  ### Methods inherited from class BaseSQLAction

  `getInMemoryOffset, readResultSet`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### query

    protected Select<?> query

  - ### queryMetadata

    protected QueryMetadata queryMetadata

- ## Constructor Details

  - ### SelectAction

    public SelectAction(Select<?> query, DataNode dataNode)
    Since:
      4.0

- ## Method Details

  - ### performAction

    public void performAction(Connection connection, OperationObserver observer) throws Exception
    Description copied from interface: `SQLAction`
    Executes a query using a strategy defined by the implementation.
    Throws:
      `Exception`

  - ### performAction

    protected void performAction(Connection connection, OperationObserver observer, TranslatedSelect translated) throws Exception
    Throws:
      `Exception`