Package org.apache.openjpa.jdbc.kernel
Class SQLStoreQuery
- java.lang.Object
-
- org.apache.openjpa.kernel.AbstractStoreQuery
-
- org.apache.openjpa.jdbc.kernel.SQLStoreQuery
-
- All Implemented Interfaces:
java.io.Serializable
,QueryOperations
,StoreQuery
- Direct Known Subclasses:
PreparedSQLStoreQuery
public class SQLStoreQuery extends AbstractStoreQuery
A SQL query.- Author:
- Abe White
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SQLStoreQuery.SQLExecutor
Executes the filter as a SQL query.-
Nested classes/interfaces inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
AbstractStoreQuery.AbstractExecutor
-
Nested classes/interfaces inherited from interface org.apache.openjpa.kernel.StoreQuery
StoreQuery.Executor, StoreQuery.Range
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
ctx
-
Fields inherited from interface org.apache.openjpa.kernel.QueryOperations
OP_DELETE, OP_SELECT, OP_UPDATE
-
Fields inherited from interface org.apache.openjpa.kernel.StoreQuery
EMPTY_BOOLEANS, EMPTY_CLASSES, EMPTY_METAS, EMPTY_OBJECTS, EMPTY_ORDERED_PARAMS, EMPTY_PARAMS, EMPTY_STRINGS
-
-
Constructor Summary
Constructors Constructor Description SQLStoreQuery(JDBCStore store)
Construct a query managed by the given context.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JDBCStore
getStore()
StoreQuery.Executor
newDataStoreExecutor(ClassMetaData meta, boolean subclasses)
Return an executor for datastore execution of this query.boolean
requiresCandidateType()
Whether this query requires a candidate class.boolean
requiresParameterDeclarations()
Whether this query requires parameters to be declared.static java.lang.String
substituteParams(java.lang.String sql, java.util.List<java.lang.Integer> paramOrder)
Utility method to substitute '?boolean
supportsDataStoreExecution()
True if this query supports datastore execution, false if it can only run in memory.boolean
supportsParameterDeclarations()
Whether this query supports declared parameters.-
Methods inherited from class org.apache.openjpa.kernel.AbstractStoreQuery
evaluate, getAggregateListener, getCompilation, getContext, getFilterListener, invalidateCompilation, newCompilation, newCompilationKey, newInMemoryExecutor, populateFromCompilation, setContext, setQuery, supportsAbstractExecutors, supportsInMemoryExecution
-
-
-
-
Constructor Detail
-
SQLStoreQuery
public SQLStoreQuery(JDBCStore store)
Construct a query managed by the given context.
-
-
Method Detail
-
getStore
public JDBCStore getStore()
-
supportsParameterDeclarations
public boolean supportsParameterDeclarations()
Description copied from interface:StoreQuery
Whether this query supports declared parameters.- Specified by:
supportsParameterDeclarations
in interfaceStoreQuery
- Overrides:
supportsParameterDeclarations
in classAbstractStoreQuery
-
supportsDataStoreExecution
public boolean supportsDataStoreExecution()
Description copied from interface:StoreQuery
True if this query supports datastore execution, false if it can only run in memory.- Specified by:
supportsDataStoreExecution
in interfaceStoreQuery
- Overrides:
supportsDataStoreExecution
in classAbstractStoreQuery
-
newDataStoreExecutor
public StoreQuery.Executor newDataStoreExecutor(ClassMetaData meta, boolean subclasses)
Description copied from interface:StoreQuery
Return an executor for datastore execution of this query. Executors must be cachable and thread safe. If this class returns true fromStoreQuery.supportsAbstractExecutors()
, the given metadata will always be for the candidate class of this query, or possibly null if the candidate class is not itself persistence capable (like an interface or abstract base class). Otherwise, the given type will be a mapped class.- Specified by:
newDataStoreExecutor
in interfaceStoreQuery
- Overrides:
newDataStoreExecutor
in classAbstractStoreQuery
subclasses
- whether to include dependent mapped subclasses in the results; independent subclasses should never be included
-
requiresCandidateType
public boolean requiresCandidateType()
Description copied from interface:StoreQuery
Whether this query requires a candidate class.- Specified by:
requiresCandidateType
in interfaceStoreQuery
- Overrides:
requiresCandidateType
in classAbstractStoreQuery
-
requiresParameterDeclarations
public boolean requiresParameterDeclarations()
Description copied from interface:StoreQuery
Whether this query requires parameters to be declared.- Specified by:
requiresParameterDeclarations
in interfaceStoreQuery
- Overrides:
requiresParameterDeclarations
in classAbstractStoreQuery
-
substituteParams
public static java.lang.String substituteParams(java.lang.String sql, java.util.List<java.lang.Integer> paramOrder) throws java.io.IOException
Utility method to substitute '?num' for parameters in the given SQL statement, and fill-in the order of the parameter tokens- Throws:
java.io.IOException
-
-