- All Implemented Interfaces:
Query
- Direct Known Subclasses:
PreparedQueryImpl
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint[]Execute a batch of commands.intExecute a command, such as an INSERT, UPDATE, or DELETE statement.Execute a SELECT query and returns a single row, where the columns of the row corresponds to the order of values in the list.<T> Optional<T> getOptionalResult(Class<T> type) Execute a SELECT query and returns a single row, where the columns of the row are mapped to the constructor arguments of the specifiedtype.getRefList(Class<T> type, Class<?> pkType) Execute a SELECT query and return the resulting rows as a list of ref instances.getRefStream(Class<T> type, Class<?> pkType) Execute a SELECT query and return the resulting rows as a stream of ref instances.longReturns the number of results of this query.Execute a SELECT query and return the resulting rows as a list of row instances.<T> List<T> getResultList(Class<T> type) Execute a SELECT query and return the resulting rows as a list of row instances.Execute a SELECT query and return the resulting rows as a stream of row instances.<T> Stream<T> getResultStream(Class<T> type) Execute a SELECT query and return the resulting rows as a stream of row instances.Object[]Execute a SELECT query and returns a single row, where the columns of the row corresponds to the order of values in the list.<T> TgetSingleResult(Class<T> type) Execute a SELECT query and returns a single row, where the columns of the row are mapped to the constructor arguments of the specifiedtype.booleanReturns true if the query is version aware, false otherwise.prepare()Prepares the query for execution.unsafe()Returns a new query that allows dangerous operations, such as DELETE and UPDATE without a WHERE clause.
-
Constructor Details
-
QueryImpl
public QueryImpl(st.orm.core.template.Query core)
-
-
Method Details
-
prepare
Prepares the query for execution.Queries are normally constructed in a lazy fashion, unlike prepared queries which are constructed eagerly. Prepared queries allow the use of bind variables and enable reading generated keys after row insertion.
Note: The prepared query must be closed after usage to prevent resource leaks.
- Specified by:
preparein interfaceQuery- Returns:
- the prepared query.
- Throws:
PersistenceException- if the query preparation fails.
-
unsafe
Returns a new query that allows dangerous operations, such as DELETE and UPDATE without a WHERE clause. -
getSingleResult
Description copied from interface:QueryExecute a SELECT query and returns a single row, where the columns of the row corresponds to the order of values in the list.- Specified by:
getSingleResultin interfaceQuery- Returns:
- a single row, where the columns of the row corresponds to the order of values the list.
-
getSingleResult
Description copied from interface:QueryExecute a SELECT query and returns a single row, where the columns of the row are mapped to the constructor arguments of the specifiedtype.- Specified by:
getSingleResultin interfaceQuery- Parameters:
type- the type of the result.- Returns:
- a single row, where the columns of the row corresponds to the order of values the list.
-
getOptionalResult
Description copied from interface:QueryExecute a SELECT query and returns a single row, where the columns of the row corresponds to the order of values in the list.- Specified by:
getOptionalResultin interfaceQuery- Returns:
- a single row, where the columns of the row corresponds to the order of values the list, or an empty optional if there is no result.
-
getOptionalResult
Description copied from interface:QueryExecute a SELECT query and returns a single row, where the columns of the row are mapped to the constructor arguments of the specifiedtype.- Specified by:
getOptionalResultin interfaceQuery- Parameters:
type- the type of the result.- Returns:
- a single row, where the columns of the row corresponds to the order of values the list, or an empty optional if there is no result.
-
getResultList
Description copied from interface:QueryExecute a SELECT query and return the resulting rows as a list of row instances.Each element in the list represents a row in the result, where the columns of the row corresponds to the order of values in the row array.
- Specified by:
getResultListin interfaceQuery- Returns:
- the result list.
-
getResultList
Description copied from interface:QueryExecute a SELECT query and return the resulting rows as a list of row instances.Each element in the list represents a row in the result, where the columns of the row are mapped to the constructor arguments of the specified
type.- Specified by:
getResultListin interfaceQuery- Parameters:
type- the type of the result.- Returns:
- the result list.
-
getRefList
Description copied from interface:QueryExecute a SELECT query and return the resulting rows as a list of ref instances.Each element in the list represents a row in the result, where the columns of the row are mapped to the constructor arguments primary key type.
- Specified by:
getRefListin interfaceQuery- Parameters:
type- the type of the results that are being referenced.pkType- the primary key type.- Returns:
- the result list.
-
getResultCount
public long getResultCount()Description copied from interface:QueryReturns the number of results of this query.- Specified by:
getResultCountin interfaceQuery- Returns:
- the total number of results of this query as a long value.
-
getResultStream
Execute a SELECT query and return the resulting rows as a stream of row instances.Each element in the stream represents a row in the result, where the columns of the row corresponds to the order of values in the row array.
The resulting stream is lazily loaded, meaning that the records are only retrieved from the database as they are consumed by the stream. This approach is efficient and minimizes the memory footprint, especially when dealing with large volumes of records.
Note: Calling this method does trigger the execution of the underlying query, so it should only be invoked when the query is intended to run. Since the stream holds resources open while in use, it must be closed after usage to prevent resource leaks.
- Specified by:
getResultStreamin interfaceQuery- Returns:
- a stream of results.
- Throws:
PersistenceException- if the query operation fails due to underlying database issues, such as connectivity.
-
getResultStream
Execute a SELECT query and return the resulting rows as a stream of row instances.Each element in the stream represents a row in the result, where the columns of the row are mapped to the constructor arguments of the specified
type.The resulting stream is lazily loaded, meaning that the records are only retrieved from the database as they are consumed by the stream. This approach is efficient and minimizes the memory footprint, especially when dealing with large volumes of records.
Note: Calling this method does trigger the execution of the underlying query, so it should only be invoked when the query is intended to run. Since the stream holds resources open while in use, it must be closed after usage to prevent resource leaks.
- Specified by:
getResultStreamin interfaceQuery- Returns:
- a stream of results.
- Throws:
PersistenceException- if the query operation fails due to underlying database issues, such as connectivity.
-
getRefStream
Execute a SELECT query and return the resulting rows as a stream of ref instances.Each element in the stream represents a row in the result, where the columns of the row are mapped to the constructor arguments primary key type.
Note: Calling this method does trigger the execution of the underlying query, so it should only be invoked when the query is intended to run. Since the stream holds resources open while in use, it must be closed after usage to prevent resource leaks.
- Specified by:
getRefStreamin interfaceQuery- Parameters:
type- the type of the results that are being referenced.pkType- the primary key type.- Returns:
- a stream of ref instances.
- Throws:
PersistenceException- if the query fails.- Since:
- 1.3
-
isVersionAware
public boolean isVersionAware()Returns true if the query is version aware, false otherwise.- Specified by:
isVersionAwarein interfaceQuery- Returns:
- true if the query is version aware, false otherwise.
-
executeUpdate
public int executeUpdate()Execute a command, such as an INSERT, UPDATE, or DELETE statement.- Specified by:
executeUpdatein interfaceQuery- Returns:
- the number of rows impacted as result of the statement.
- Throws:
PersistenceException- if the statement fails.
-
executeBatch
public int[] executeBatch()Execute a batch of commands.- Specified by:
executeBatchin interfaceQuery- Returns:
- an array of update counts containing one element for each command in the batch. The elements of the
array are ordered according to the order in which commands were added to the batch, following
Statement.executeBatchsemantics. - Throws:
PersistenceException- if the batch fails.
-