Purpose: Abstract class for all read queries.
Responsibilities:
| Modifier and Type | Field and Description |
|---|---|
| protected boolean | allowQueryResultsCacheValidation
Flag that allows query result cache validation or not. |
| protected int | fetchSize
Used to set statement fetch size |
| protected int | firstResult
Used to start query results at a specific result |
| protected int | maxResults
Stores the JPA maxResult settings for a NamedQuery |
| protected int | maxRows
Used for retrieve limited rows through the query. |
| protected long | |
| protected QueryResultsCachePolicy | queryResultCachingPolicy
Used to specify how query results are cached |
| protected transient Object | temporaryCachedQueryResults
Optimization: temporarily stores cached query results while they are being built in a cloned query |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public Object | |
| public void | cacheQueryResults()
ADVANCED: This method will instruct the query to cache the results returned by its next execution. |
| public abstract void | cacheResult(Object object)
INTERNAL: This method is called by the object builder when building an original. |
| public void | clearQueryResults(AbstractSession session)
PUBLIC: Clears the current cached results, the next execution with read from the database. |
| protected void | clonedQueryExecutionComplete(DatabaseQuery query, AbstractSession session)
Overrides org. |
| public void | copyFromQuery(DatabaseQuery query)
Overrides org. |
| public void | |
| public int | getFetchSize()
PUBLIC: Return the fetchSize setting that this query will set on the JDBC Statement NB - a value of zero means that no call to statement.setFetchSize() will be made. |
| public int | getFirstResult()
PUBLIC: Return the value that will be set for the firstResult in the returned result set |
| public int | Returns: the maxResultsINTERNAL: returns the JPA max results that may have been set on a NamedQuery |
| public int | getMaxRows()
PUBLIC: Return the limit for the maximum number of rows that any ResultSet can contain to the given number. |
| public long | getQueryId()
INTERNAL: This method is used to get the time in millis that this query is being executed at. |
| protected Object | getQueryResults(AbstractSession session)
INTERNAL: To any user of this object with some knowledge of what the query's results may contain. |
| protected Object | getQueryResults(AbstractSession session, boolean checkExpiry)
INTERNAL: To any user of this object with some knowledge of what the query's results may contain. |
| protected Object | getQueryResults(AbstractSession session, AbstractRecord row, boolean checkExpiry)
INTERNAL: To any user of this object with some knowledge of what the query's results may contain. |
| public QueryResultsCachePolicy | |
| public Object | |
| public boolean | isDefaultPropertiesQuery()
Overrides org. |
| public boolean | isReadQuery()
Overrides org. |
| protected void | prepare()
Overrides org. |
| public void | prepareForExecution()
Overrides org. |
| public Object | remoteExecute(AbstractSession session)
Overrides org. |
| public void | |
| public void | setFetchSize(int fetchSize)
PUBLIC: Set the fetchSize setting that this query will set on the JDBC Statement NB - a value of zero means that no call to statement.setFetchSize() will be made. |
| public void | setFirstResult(int firstResult)
PUBLIC: Used to set the first result in any result set that is returned for this query. |
| public void | |
| public void | setMaxRows(int maxRows)
PUBLIC: Used to set the limit for the maximum number of rows that any ResultSet can contain to the given number. |
| public void | setQueryId(long id)
INTERNAL: This method is used to set the current system time in millis that this query is being executed at. |
| protected void | setQueryResults(Object resultFromQuery, AbstractRecord row, AbstractSession session)
INTERNAL: Set the cached results of the query. |
| public void | |
| public void | |
| public boolean | |
| public boolean | shouldCacheQueryResults()
PUBLIC: Return if the query should cache the results of the next execution or not. |
| allowQueryResultsCacheValidation | back to summary |
|---|---|
| protected boolean allowQueryResultsCacheValidation Flag that allows query result cache validation or not. | |
| fetchSize | back to summary |
|---|---|
| protected int fetchSize Used to set statement fetch size | |
| firstResult | back to summary |
|---|---|
| protected int firstResult Used to start query results at a specific result | |
| maxResults | back to summary |
|---|---|
| protected int maxResults Stores the JPA maxResult settings for a NamedQuery | |
| maxRows | back to summary |
|---|---|
| protected int maxRows Used for retrieve limited rows through the query. | |
| queryId | back to summary |
|---|---|
| protected long queryId | |
| queryResultCachingPolicy | back to summary |
|---|---|
| protected QueryResultsCachePolicy queryResultCachingPolicy Used to specify how query results are cached | |
| temporaryCachedQueryResults | back to summary |
|---|---|
| protected transient Object temporaryCachedQueryResults Optimization: temporarily stores cached query results while they are being built in a cloned query | |
| ReadQuery | back to summary |
|---|---|
| protected ReadQuery() PUBLIC: Initialize the state of the query | |
| buildObject | back to summary |
|---|---|
| public Object buildObject(AbstractRecord row) INTERNAL: By default return the row. Used by cursored stream. | |
| cacheQueryResults | back to summary |
|---|---|
| public void cacheQueryResults() ADVANCED: This method will instruct the query to cache the results returned by its next execution. All subsequent executions of this query will return this cached result set even if new query parameters are specified. This method provides a performance enhancement for queries known to always return the same result set. Oracle recommends that you use this method only for such queries. To disable this behavior, call | |
| cacheResult | back to summary |
|---|---|
| public abstract void cacheResult(Object object) INTERNAL: This method is called by the object builder when building an original. It will cause the original to be cached in the query results if the query is set to do so. | |
| clearQueryResults | back to summary |
|---|---|
| public void clearQueryResults(AbstractSession session) PUBLIC: Clears the current cached results, the next execution with read from the database. | |
| clonedQueryExecutionComplete | back to summary |
|---|---|
| protected void clonedQueryExecutionComplete(DatabaseQuery query, AbstractSession session) Overrides org. INTERNAL Used to give the subclasses opportunity to copy aspects of the cloned query to the original query.
| |
| copyFromQuery | back to summary |
|---|---|
| public void copyFromQuery(DatabaseQuery query) Overrides org. INTERNAL: Copy all setting from the query. This is used to morph queries from one type to the other. By default this calls prepareFromQuery, but additional properties may be required to be copied as prepareFromQuery only copies properties that affect the SQL.
| |
| doNotCacheQueryResults | back to summary |
|---|---|
| public void doNotCacheQueryResults() ADVANCED: This method will instruct the query not to cache results. All subsequent executions return result sets according to the current configuration of query parameters. After calling this method, any previously cached result set will be discarded the next time the query is executed. To enable this behavior, call Note If this method is called on a query that initially cached query results, clearQueryResults(Session) should also be called. Otherwise, the results of this query will remain in the cache and cause extra memory use | |
| getFetchSize | back to summary |
|---|---|
| public int getFetchSize() PUBLIC: Return the fetchSize setting that this query will set on the JDBC Statement NB - a value of zero means that no call to statement.setFetchSize() will be made. | |
| getFirstResult | back to summary |
|---|---|
| public int getFirstResult() PUBLIC: Return the value that will be set for the firstResult in the returned result set | |
| getInternalMax | back to summary |
|---|---|
| public int getInternalMax() INTERNAL: returns the JPA max results that may have been set on a NamedQuery
| |
| getMaxRows | back to summary |
|---|---|
| public int getMaxRows() PUBLIC: Return the limit for the maximum number of rows that any ResultSet can contain to the given number. | |
| getQueryId | back to summary |
|---|---|
| public long getQueryId() INTERNAL: This method is used to get the time in millis that this query is being executed at. it is set just prior to executing the SQL and will be used to determine which objects should be refreshed. CR #4365 CR #2698903 ... instead of using millis we will now use id's instead. Method renamed appropriately. | |
| getQueryResults | back to summary |
|---|---|
| protected Object getQueryResults(AbstractSession session) INTERNAL: To any user of this object with some knowledge of what the query's results may contain. Return the results of the query. If the query has never been executed, or does not cache results, the results will be null. | |
| getQueryResults | back to summary |
|---|---|
| protected Object getQueryResults(AbstractSession session, boolean checkExpiry) INTERNAL: To any user of this object with some knowledge of what the query's results may contain. Return the results of the query. If the query has never been executed, or does not cache results, the results will be null. | |
| getQueryResults | back to summary |
|---|---|
| protected Object getQueryResults(AbstractSession session, AbstractRecord row, boolean checkExpiry) INTERNAL: To any user of this object with some knowledge of what the query's results may contain. Return the results of the query. If the query has never been executed, or does not cache results, the results will be null. | |
| getQueryResultsCachePolicy | back to summary |
|---|---|
| public QueryResultsCachePolicy getQueryResultsCachePolicy() PUBLIC: Return the QueryResultsCachePolicy for this query. | |
| getTemporaryCachedQueryResults | back to summary |
|---|---|
| public Object getTemporaryCachedQueryResults() INTERNAL: Get results from the remporary cache. Used when caching query results on a clone so they can be copied to the original query | |
| isDefaultPropertiesQuery | back to summary |
|---|---|
| public boolean isDefaultPropertiesQuery() Overrides org. INTERNAL: Return true if the query uses default properties. This is used to determine if this query is cacheable. i.e. does not use any properties that may conflict with another query with the same EJBQL or selection criteria.
| |
| isReadQuery | back to summary |
|---|---|
| public boolean isReadQuery() Overrides org. PUBLIC: Return if this is a read query.
| |
| prepare | back to summary |
|---|---|
| protected void prepare() throws QueryException Overrides org. INTERNAL: This is different from 'prepareForExecution' in that this is called on the original query, and the other is called on the copy of the query. This query is copied for concurrency so this prepare can only setup things that will apply to any future execution of this query. Clear the query cache when a query is prepared.
| |
| prepareForExecution | back to summary |
|---|---|
| public void prepareForExecution() throws QueryException Overrides org. INTERNAL: Prepare the receiver for execution in a session.
| |
| remoteExecute | back to summary |
|---|---|
| public Object remoteExecute(AbstractSession session) throws DatabaseException Overrides org. INTERNAL: Return if this is a read query.
| |
| setAllowQueryResultsCacheValidation | back to summary |
|---|---|
| public void setAllowQueryResultsCacheValidation(boolean allowQueryResultsCacheValidation) | |
| setFetchSize | back to summary |
|---|---|
| public void setFetchSize(int fetchSize) PUBLIC: Set the fetchSize setting that this query will set on the JDBC Statement NB - a value of zero means that no call to statement.setFetchSize() will be made. | |
| setFirstResult | back to summary |
|---|---|
| public void setFirstResult(int firstResult) PUBLIC: Used to set the first result in any result set that is returned for this query. On supported database platforms this will cause the query to issue specific SQL that avoids selecting the firstResult number of rows. Otherwise by it will use the JDBC absolute to skip the firstResult number of rows. | |
| setInternalMax | back to summary |
|---|---|
| public void setInternalMax(int max) INTERNAL: sets the JPA max results that may have been set on a NamedQuery | |
| setMaxRows | back to summary |
|---|---|
| public void setMaxRows(int maxRows) PUBLIC: Used to set the limit for the maximum number of rows that any ResultSet can contain to the given number. This method should only be set once per query. To change the max rows use another query. This method limits the number of candidate results returned to TopLink that can be used to build objects | |
| setQueryId | back to summary |
|---|---|
| public void setQueryId(long id) INTERNAL: This method is used to set the current system time in millis that this query is being executed at. it is set just prior to executing the SQL and will be used to determine which objects should be refreshed. CR #4365 CR #2698903 ... instead of using millis we will now use id's instead. Method renamed appropriately. | |
| setQueryResults | back to summary |
|---|---|
| protected void setQueryResults(Object resultFromQuery, AbstractRecord row, AbstractSession session) INTERNAL: Set the cached results of the query. This will only be set if the query caches results. | |
| setQueryResultsCachePolicy | back to summary |
|---|---|
| public void setQueryResultsCachePolicy(QueryResultsCachePolicy policy) Set the QueryResultsCachePolicy. | |
| setTemporaryCachedQueryResults | back to summary |
|---|---|
| public void setTemporaryCachedQueryResults(Object queryResults) INTERNAL: Put results in the temporary cache. Used when caching query results on a clone so they can be copied to the original query | |
| shouldAllowQueryResultsCacheValidation | back to summary |
|---|---|
| public boolean shouldAllowQueryResultsCacheValidation() | |
| shouldCacheQueryResults | back to summary |
|---|---|
| public boolean shouldCacheQueryResults() PUBLIC: Return if the query should cache the results of the next execution or not. | |