Package org.flowable.common.engine.api.query

# Interface NativeQuery<T extends NativeQuery<?,?>,U>

All Known Subinterfaces:
  `NativeActivityInstanceQuery`, `NativeDecisionQuery`, `NativeDeploymentQuery`, `NativeDmnDeploymentQuery`, `NativeExecutionQuery`, `NativeHistoricActivityInstanceQuery`, `NativeHistoricDecisionExecutionQuery`, `NativeHistoricDetailQuery`, `NativeHistoricProcessInstanceQuery`, `NativeHistoricTaskLogEntryQuery`, `NativeHistoricVariableInstanceQuery`, `NativeModelQuery`, `NativeProcessDefinitionQuery`, `NativeProcessInstanceQuery`, `NativeTaskQuery`, `NativeVariableInstanceQuery`

public interface NativeQuery<T extends NativeQuery<?,?>,U>
Describes basic methods for doing native queries

Author:
  Tijs Rademakers, Joram Barrez

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `count()`
  Executes the query and returns the number of results
  `List<U>`
  `list()`
  Executes the query and get a list of entities as the result.
  `List<U>`
  `listPage(int firstResult, int maxResults)`
  Executes the query and get a list of entities as the result.
  `T`
  `parameter(String name, Object value)`
  Add parameter to be replaced in query for index, e.g.
  `U`
  `singleResult()`
  Executes the query and returns the resulting entity or null if no entity matches the query criteria.
  `T`
  `sql(String selectClause)`
  Hand in the SQL statement you want to execute.

- ## Method Details

  - ### sql

    T sql(String selectClause)
    Hand in the SQL statement you want to execute. BEWARE: if you need a count you have to hand in a count() statement yourself, otherwise the result will be treated as lost of Flowable entities. If you need paging you have to insert the pagination code yourself. We skipped doing this for you as this is done really different on some databases (especially MS-SQL / DB2)

  - ### parameter

    T parameter(String name, Object value)
    Add parameter to be replaced in query for index, e.g. :param1, :myParam, ...

  - ### count

    long count()
    Executes the query and returns the number of results

  - ### singleResult

    U singleResult()
    Executes the query and returns the resulting entity or null if no entity matches the query criteria.
    Throws:
      `FlowableException` - when the query results in more than one entities.

  - ### list

    List<U> list()
    Executes the query and get a list of entities as the result.

  - ### listPage

    List<U> listPage(int firstResult, int maxResults)
    Executes the query and get a list of entities as the result.