Cayenne can "execute" any object as a query as long as it implements Query interface and provides meaningful implementation of either Query.route(...) and/or Query.createSQLAction(SQLActionVisitor)} methods. So users can extend/customize queries if they need to. Custom implementations would normally either create a query from a standard Cayenne set and delegate the execution to it (acting as a sort of "query builder"), or can implement its own non-standard SQLAction.
Interface Summary Interface Description EntityResultSegmentA "compiled" version of a
ParameterizedQueryDefines a query that can serve as a template for other queries. PrefetchProcessorA hierarchical visitor interface for traversing a tree of PrefetchTreeNodes. QueryDefines minimal API of a query descriptor that is executable via Cayenne. QueryMetadataProvides a common interface for accessing query metadata. QueryRouterAn interface used by Queries to route themselves to an appropriate QueryEngine. ScalarResultSegment Select<T>A common interface for grouping together different kinds of queries that return results. SQLActionDefines API for query execution strategy over JDBC connection (as in Strategy Pattern). SQLActionVisitorA factory interface to create standard SQLActions for a set of standard queries.
Class Summary Class Description AbstractMappedQuery AbstractQueryA common superclass of Cayenne queries. BatchQueryBatchQuery and its descendants allow to group similar data for the batch database modifications, including inserts, updates and deletes. BatchQueryRowRepresents a single row of values in a BatchQuery. CacheableQueryShared functionality for cacheable queries. ColumnSelect<T>A helper builder for queries selecting individual properties based on the root object. DeleteBatchQueryBatched delete query. EJBQLQueryAn EJBQL query representation in Cayenne. FluentSelect<T> IndirectQueryA base superclass for queries that resolve into some other queries during the routing phase. InsertBatchQueryBatched INSERT query. MappedExecA query that represents a named parameterized non selecting query stored in the mapping. MappedSelect<T>A query that represents a named parameterized selecting query stored in the mapping. ObjectIdQueryA query that matches zero or one object or data row corresponding to the ObjectId. ObjectSelect<T>A selecting query providing chainable API. OrderingDefines object sorting criteria, used either for in-memory sorting of object lists or as a specification for building ORDER BY clause of a SelectQuery query. OrderingsOrderings is provided so that you can chain Ordering together and then use the result to pass into methods that require List<Ordering> PrefetchSelectQuery<T>A SelectQuery to perform a prefetch based on another query. PrefetchTreeNodeDefines a node in a prefetch tree. ProcedureCall<T>Fluent API for calling stored procedures. ProcedureQueryA query based on Procedure. QueryChainA Query decorator for a collection of other queries. QueryMetadataProxy RefreshQueryA query that allows to explicitly clear both object and list caches either via refetch (eager refresh) or invalidate (lazy refresh). RelationshipQueryA query that selects objects related to a given object via a mapped relationship. SelectById<T>A query to select single objects by id. SelectQuery<T>A query that selects persistent objects of a certain type or "raw data" (aka DataRows). SQLExecA generic query based on raw SQL and featuring fluent API. SQLSelect<T>A selecting query based on raw SQL and featuring fluent API. SQLTemplateA query that executes unchanged (except for template preprocessing) "raw" SQL specified by the user. SQLTemplateMetadata UpdateBatchQueryBatched UPDATE query.
Enum Summary Enum Description CapsStrategyDefines forced capitalization of the result column names in the DataRow. QueryCacheStrategyDefines query result caching policy. SortOrderConstants to order query results (the ORDER BY clause).