Package org.apache.cayenne.query
Class SQLTemplateMetadata
java.lang.Object
org.apache.cayenne.query.SQLTemplateMetadata
- All Implemented Interfaces:
Serializable,QueryMetadata
public class SQLTemplateMetadata extends Object
- Since:
- 3.0
- See Also:
- Serialized Form
-
Field Summary
Fields inherited from interface org.apache.cayenne.query.QueryMetadata
CACHE_GROUPS_PROPERTY, CACHE_STRATEGY_PROPERTY, FETCH_LIMIT_DEFAULT, FETCH_LIMIT_PROPERTY, FETCH_OFFSET_DEFAULT, FETCH_OFFSET_PROPERTY, FETCHING_DATA_ROWS_DEFAULT, FETCHING_DATA_ROWS_PROPERTY, PAGE_SIZE_DEFAULT, PAGE_SIZE_PROPERTY, STATEMENT_FETCH_SIZE_DEFAULT, STATEMENT_FETCH_SIZE_PROPERTY -
Constructor Summary
Constructors Constructor Description SQLTemplateMetadata() -
Method Summary
Modifier and Type Method Description StringgetCacheGroup()Returns an optional cache "group".StringgetCacheKey()Returns a String that uniquely identifies this query for the purposes of result caching.QueryCacheStrategygetCacheStrategy()Returns a caching strategy for this query.ClassDescriptorgetClassDescriptor()DataMapgetDataMap()Returns a DataMap associated with a query or null if no such DataMap exists.DbEntitygetDbEntity()Returns a DbEntity associated with a query or null if no such entity exists.intgetFetchLimit()Returns the limit on the maximum number of records that can be returned by this query.intgetFetchOffset()Specifies a start of a range when fetching a subset of records.ObjEntitygetObjEntity()Returns an ObjEntity associated with a query or null if no such entity exists.QuerygetOriginatingQuery()Returns a query that originated this query.intgetPageSize()Returns query page size.Map<String,String>getPathSplitAliases()Returns a map of aliases vs.PrefetchTreeNodegetPrefetchTree()Returns a root node of prefetch tree used by this query, or null of no prefetches are configured.ProceduregetProcedure()Returns a Procedure associated with a query or null if no such procedure exists.List<Object>getResultSetMapping()Returns an optional list of result set mapping hints.intgetStatementFetchSize()booleanisFetchingDataRows()Returnstrueif this query should produce a list of data rows as opposed to DataObjects,falsefor DataObjects.booleanisRefreshingObjects()Returnstrueif the query results should replace any currently cached values, returnsfalseotherwise.booleanisSingleResultSetMapping()booleanisSuppressingDistinct()voidsetCacheGroup(String group)
-
Constructor Details
-
SQLTemplateMetadata
public SQLTemplateMetadata()
-
-
Method Details
-
isSingleResultSetMapping
public boolean isSingleResultSetMapping()- Specified by:
isSingleResultSetMappingin interfaceQueryMetadata- Returns:
- should the result be mapped to single object (scalar or entity)
- See Also:
QueryMetadata.getResultSetMapping()
-
getCacheKey
Description copied from interface:QueryMetadataReturns a String that uniquely identifies this query for the purposes of result caching. If null is returned, no caching is performed.- Specified by:
getCacheKeyin interfaceQueryMetadata- Since:
- 1.2
-
getDataMap
Description copied from interface:QueryMetadataReturns a DataMap associated with a query or null if no such DataMap exists.- Specified by:
getDataMapin interfaceQueryMetadata- Since:
- 1.2
-
getProcedure
Description copied from interface:QueryMetadataReturns a Procedure associated with a query or null if no such procedure exists.- Specified by:
getProcedurein interfaceQueryMetadata- Since:
- 1.2
-
getPathSplitAliases
Description copied from interface:QueryMetadataReturns a map of aliases vs. expression subpaths that is used to build split joins.- Specified by:
getPathSplitAliasesin interfaceQueryMetadata- Since:
- 3.0
-
getDbEntity
Description copied from interface:QueryMetadataReturns a DbEntity associated with a query or null if no such entity exists.- Specified by:
getDbEntityin interfaceQueryMetadata- Since:
- 1.2
-
getObjEntity
Description copied from interface:QueryMetadataReturns an ObjEntity associated with a query or null if no such entity exists.- Specified by:
getObjEntityin interfaceQueryMetadata- Since:
- 1.2
-
getClassDescriptor
- Specified by:
getClassDescriptorin interfaceQueryMetadata- Since:
- 3.0
-
getResultSetMapping
Description copied from interface:QueryMetadataReturns an optional list of result set mapping hints. Elements in the list can be eitherEntityResultSegmentorScalarResultSegment. The returned list can be null.- Specified by:
getResultSetMappingin interfaceQueryMetadata- Since:
- 3.0
-
getPrefetchTree
Description copied from interface:QueryMetadataReturns a root node of prefetch tree used by this query, or null of no prefetches are configured.- Specified by:
getPrefetchTreein interfaceQueryMetadata- Since:
- 1.2
-
getCacheStrategy
Description copied from interface:QueryMetadataReturns a caching strategy for this query.- Specified by:
getCacheStrategyin interfaceQueryMetadata- Since:
- 3.0
-
getCacheGroup
Description copied from interface:QueryMetadataReturns an optional cache "group". Cache groups allow to invalidate query caches in bulk on different events.- Specified by:
getCacheGroupin interfaceQueryMetadata- Since:
- 4.0
-
setCacheGroup
- Since:
- 4.0
-
isFetchingDataRows
public boolean isFetchingDataRows()Description copied from interface:QueryMetadataReturnstrueif this query should produce a list of data rows as opposed to DataObjects,falsefor DataObjects. This is a hint to QueryEngine executing this query.- Specified by:
isFetchingDataRowsin interfaceQueryMetadata
-
getFetchLimit
public int getFetchLimit()Description copied from interface:QueryMetadataReturns 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.- Specified by:
getFetchLimitin interfaceQueryMetadata- Returns:
- the limit on the maximum number of records that can be returned by this query
-
getPageSize
public int getPageSize()Description copied from interface:QueryMetadataReturns 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.- Specified by:
getPageSizein interfaceQueryMetadata
-
getOriginatingQuery
Description copied from interface:QueryMetadataReturns 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.- Specified by:
getOriginatingQueryin interfaceQueryMetadata- Since:
- 4.0
-
getFetchOffset
public int getFetchOffset()Description copied from interface:QueryMetadataSpecifies a start of a range when fetching a subset of records.- Specified by:
getFetchOffsetin interfaceQueryMetadata- Since:
- 3.0
-
isRefreshingObjects
public boolean isRefreshingObjects()Description copied from interface:QueryMetadataReturnstrueif the query results should replace any currently cached values, returnsfalseotherwise. IfQueryMetadata.isFetchingDataRows()returnstrue, this setting is not applicable and has no effect.- Specified by:
isRefreshingObjectsin interfaceQueryMetadata
-
getStatementFetchSize
public int getStatementFetchSize()- Specified by:
getStatementFetchSizein interfaceQueryMetadata- Returns:
- statement's fetch size
- Since:
- 3.0
-
isSuppressingDistinct
public boolean isSuppressingDistinct()- Specified by:
isSuppressingDistinctin interfaceQueryMetadata- Since:
- 4.0
-