Package org.apache.cayenne.query
Class SQLExec
java.lang.Object
org.apache.cayenne.query.IndirectQuery
org.apache.cayenne.query.SQLExec
- All Implemented Interfaces:
Serializable
,Query
A generic query based on raw SQL and featuring fluent API. While
SQLExec
can be used to select data (see execute(ObjectContext)
), it is normally used for updates, DDL operations, etc.- Since:
- 4.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
protected int
protected boolean
protected StringBuilder
Fields inherited from class org.apache.cayenne.query.IndirectQuery
dataMap, lastResolver, name, replacementQuery
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionAppends a piece of SQL to the previously stored SQL template.protected Query
createReplacementQuery
(EntityResolver resolver) Creates a substitute query.execute
(ObjectContext context) Returns a potentially immutable map of named parameters that will be bound to SQL.Returns a potentially immutable list of positional parameters that will be bound to SQL.getSql()
boolean
paramsArray
(Object... params) Initializes positional parameters of the query.paramsList
(List<Object> params) Initializes positional parameters of the query.static SQLExec
Creates a query executing provided SQL run against default database.static SQLExec
Creates a query executing provided SQL that performs routing based on the provided DataMap name.queryTimeout
(int queryTimeout) returnGeneratedKeys
(boolean returnGeneratedKeys) Flag indicating that generated keys should be returned by this query execution.int
update
(ObjectContext context) int[]
updateBatch
(ObjectContext context) Methods inherited from class org.apache.cayenne.query.IndirectQuery
createSQLAction, getMetaData, getReplacementQuery, route
-
Field Details
-
dataMapName
-
sqlBuffer
-
params
-
positionalParams
-
returnGeneratedKeys
protected boolean returnGeneratedKeys -
queryTimeout
protected int queryTimeout
-
-
Constructor Details
-
SQLExec
-
-
Method Details
-
query
Creates a query executing provided SQL run against default database. -
query
Creates a query executing provided SQL that performs routing based on the provided DataMap name. -
getSql
-
append
Appends a piece of SQL to the previously stored SQL template. -
params
-
params
-
paramsArray
Initializes positional parameters of the query. Parameters are bound in the order they are found in the SQL template. If a given parameter name is used more than once, only the first occurrence is treated as "position", subsequent occurrences are bound with the same value as the first one. If template parameters count is different from the array parameter count, an exception will be thrown.Note that calling this method will reset any previously set *named* parameters.
-
paramsList
Initializes positional parameters of the query. Parameters are bound in the order they are found in the SQL template. If a given parameter name is used more than once, only the first occurrence is treated as "position", subsequent occurrences are bound with the same value as the first one. If template parameters count is different from the list parameter count, an exception will be thrown.Note that calling this method will reset any previously set *named* parameters.
-
getParams
Returns a potentially immutable map of named parameters that will be bound to SQL. -
getPositionalParams
Returns a potentially immutable list of positional parameters that will be bound to SQL. -
execute
-
update
-
updateBatch
-
isReturnGeneratedKeys
public boolean isReturnGeneratedKeys()- Returns:
- returnGeneratedKeys flag value
- Since:
- 4.1
-
returnGeneratedKeys
Flag indicating that generated keys should be returned by this query execution. Generated keys could be read viaQueryResponse.currentList()
method- Parameters:
returnGeneratedKeys
- flag value- Since:
- 4.1
- See Also:
-
queryTimeout
- Since:
- 4.2
-
createReplacementQuery
Description copied from class:IndirectQuery
Creates a substitute query. An implementor is free to provide an arbitrary replacement query.- Specified by:
createReplacementQuery
in classIndirectQuery
-