Package org.apache.cayenne.query
Interface QueryMetadata
- All Known Implementing Classes:
QueryMetadataProxy
,SQLTemplateMetadata
public interface QueryMetadata
Provides a common interface for accessing query metadata.
- Since:
- 1.2
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final int
Defines default query fetch limit, which is zero, meaning that all matching rows should be fetched.static final String
Defines the name of the property for the queryfetch limit
.static final int
Defines default query fetch start index, which is 0, meaning that matching rows selected starting from the first.static final String
Defines the name of the property for the queryfetch offset
.static final boolean
static final String
static final int
Defines default query page size, which is zero for no pagination.static final String
Defines the name of the property for the querypage size
.static final int
static final int
Defines default query fetch start index, which is 0, meaning that matching rows selected starting from the first.static final String
Defines the name of the property for the queryfetch size
. -
Method Summary
Modifier and TypeMethodDescriptionReturns an optional cache "group".Returns a String that uniquely identifies this query for the purposes of result caching.Returns a caching strategy for this query.Returns a DataMap associated with a query or null if no such DataMap exists.Returns a DbEntity associated with a query or null if no such entity exists.int
Returns the limit on the maximum number of records that can be returned by this query.int
Specifies a start of a range when fetching a subset of records.Returns an ObjEntity associated with a query or null if no such entity exists.Returns a query that originated this query.int
Returns query page size.Returns a map of aliases vs.Returns a root node of prefetch tree used by this query, or null of no prefetches are configured.Returns a Procedure associated with a query or null if no such procedure exists.int
default Function
<?, ?> Returns an optional list of result set mapping hints.int
boolean
Returnstrue
if this query should produce a list of data rows as opposed to DataObjects,false
for DataObjects.boolean
Returnstrue
if the query results should replace any currently cached values, returnsfalse
otherwise.boolean
boolean
default void
setResultSetMapping
(List<Object> resultSetMapping)
-
Field Details
-
FETCH_LIMIT_PROPERTY
Defines the name of the property for the queryfetch limit
.- See Also:
-
FETCH_LIMIT_DEFAULT
static final int FETCH_LIMIT_DEFAULTDefines default query fetch limit, which is zero, meaning that all matching rows should be fetched.- See Also:
-
FETCH_OFFSET_PROPERTY
Defines the name of the property for the queryfetch offset
.- Since:
- 3.0
- See Also:
-
FETCH_OFFSET_DEFAULT
static final int FETCH_OFFSET_DEFAULTDefines default query fetch start index, which is 0, meaning that matching rows selected starting from the first.- Since:
- 3.0
- See Also:
-
QUERY_TIMEOUT_DEFAULT
static final int QUERY_TIMEOUT_DEFAULT- See Also:
-
PAGE_SIZE_PROPERTY
Defines the name of the property for the querypage size
.- See Also:
-
PAGE_SIZE_DEFAULT
static final int PAGE_SIZE_DEFAULTDefines default query page size, which is zero for no pagination.- See Also:
-
FETCHING_DATA_ROWS_PROPERTY
- See Also:
-
FETCHING_DATA_ROWS_DEFAULT
static final boolean FETCHING_DATA_ROWS_DEFAULT- See Also:
-
CACHE_STRATEGY_PROPERTY
- Since:
- 3.0
- See Also:
-
CACHE_GROUPS_PROPERTY
- Since:
- 3.0
- See Also:
-
STATEMENT_FETCH_SIZE_PROPERTY
Defines the name of the property for the queryfetch size
.- Since:
- 3.0
- See Also:
-
STATEMENT_FETCH_SIZE_DEFAULT
static final int STATEMENT_FETCH_SIZE_DEFAULTDefines default query fetch start index, which is 0, meaning that matching rows selected starting from the first.- Since:
- 3.0
- See Also:
-
-
Method Details
-
getClassDescriptor
ClassDescriptor getClassDescriptor()- Since:
- 3.0
-
getObjEntity
ObjEntity getObjEntity()Returns an ObjEntity associated with a query or null if no such entity exists. -
getDbEntity
DbEntity getDbEntity()Returns a DbEntity associated with a query or null if no such entity exists. -
getProcedure
Procedure getProcedure()Returns a Procedure associated with a query or null if no such procedure exists. -
getDataMap
DataMap getDataMap()Returns a DataMap associated with a query or null if no such DataMap exists. -
getCacheStrategy
QueryCacheStrategy getCacheStrategy()Returns a caching strategy for this query.- Since:
- 3.0
-
getCacheKey
String getCacheKey()Returns a String that uniquely identifies this query for the purposes of result caching. If null is returned, no caching is performed. -
getCacheGroup
String getCacheGroup()Returns an optional cache "group". Cache groups allow to invalidate query caches in bulk on different events.- Since:
- 4.0
-
isFetchingDataRows
boolean isFetchingDataRows()Returnstrue
if this query should produce a list of data rows as opposed to DataObjects,false
for DataObjects. This is a hint to QueryEngine executing this query. -
isRefreshingObjects
boolean isRefreshingObjects()Returnstrue
if the query results should replace any currently cached values, returnsfalse
otherwise. IfisFetchingDataRows()
returnstrue
, this setting is not applicable and has no effect. -
getPageSize
int getPageSize()Returns query page size. Page size is a hint to Cayenne that query should be performed page by page, instead of retrieving all results at once. If the value returned is less than or equal to zero, no paging should occur. -
getFetchOffset
int getFetchOffset()Specifies a start of a range when fetching a subset of records.- Since:
- 3.0
-
getFetchLimit
int getFetchLimit()Returns the limit on the maximum number of records that can be returned by this query. If the actual number of rows in the result exceeds the fetch limit, they will be discarded. One possible use of fetch limit is using it as a safeguard against large result sets that may lead to the application running out of memory, etc. If a fetch limit is greater or equal to zero, all rows will be returned.- Returns:
- the limit on the maximum number of records that can be returned by this query
-
getOriginatingQuery
Query getOriginatingQuery()Returns a query that originated this query. Originating query is a query whose result is needed to obtain the result of the query owning this metadata. Most often than not the returned value is null. One example of non-null originating query is a query for a range of objects in a previously fetched paginated list. The query that fetched the original paginated list is an "originated" query. It may be used to restore a list that got lost due to a cache overflow, etc.- Since:
- 4.0
-
getPrefetchTree
PrefetchTreeNode getPrefetchTree()Returns a root node of prefetch tree used by this query, or null of no prefetches are configured. -
getPathSplitAliases
Returns a map of aliases vs. expression subpaths that is used to build split joins.- Since:
- 3.0
-
getResultSetMapping
Returns an optional list of result set mapping hints. Elements in the list can be eitherEntityResultSegment
orScalarResultSegment
. The returned list can be null.- Since:
- 3.0
-
setResultSetMapping
- Since:
- 4.2
-
isSingleResultSetMapping
boolean isSingleResultSetMapping()- Returns:
- should the result be mapped to single object (scalar or entity)
- Since:
- 4.0
- See Also:
-
getStatementFetchSize
int getStatementFetchSize()- Returns:
- statement's fetch size
- Since:
- 3.0
-
getQueryTimeout
int getQueryTimeout()- Returns:
- query timeout
- Since:
- 4.2
-
isSuppressingDistinct
boolean isSuppressingDistinct()- Since:
- 4.0
-
getResultMapper
- Since:
- 4.2
-