General Object Retrieval API¶
Advanced search use-cases supported by Backendless include:
- Search with a query (a "where clause" search) -retrieves data objects which satisfy a condition.
- Paged data retrieval - retrieves a "page" of data of the given size from the specified offset.
- Sorted data object retrieval - retrieves a collection of data objects sorted by specified properties.
- Retrieval of related objects - fetching data objects through special "relation" properties. See retrieval of related data objects.
- Calculating aggregate values for a collection of objects - retrieves sum, average, min, max or count for all or a subset of objects in a table. See Aggregate Functions for more details.
Backendless supports the options listed above with a special class -
DataQueryBuilder. The class includes various properties to configure paging and sorting, specify a search query (the
where clause), and/or to request retrieval of objects for specific related properties. The
DataQueryBuilder class provides the following properties:
||sets a search query. A query must be in the SQL-92 syntax (the "where" clause part).|
||sets an array of column names to sort the data objects in the response by.|
||sets an array of related columns names. Objects from the related columns are included into the response. For information about relation retrieval, see the Relations (Retrieve) chapter of the documentation.|
||sets the number of "levels" in the hierarchy of related objects to include into the response.|
||sets the page size - which is the number of objects to return in the response. Maximum value is 100. For more information on paging, see the Data retrieval with Paging section.|
||sets the offset - an index in the server-side storage from where the data objects should be retrieved.|
||Used with Aggregate Functions. Sets the name of the columns to group the results by.|
||Used with Aggregate Functions. Sets a condition on a aggregate function to filter groups.|
Future<List<Map>> Backendless.data.of("TABLE-NAME").find([DataQueryBuilder queryBuilder]);
Future<List<E>> Backendless.data.withClass<E>().find([DataQueryBuilder queryBuilder]);
||Name of the table to retrieve data from.|
||Java class identifying the table to retrieve data from. The name of the class must match the name of the table.|
||an instance of
The collection of strongly typed objects found as a result of the query execution.
For examples on using the advanced object retrieval API, see the following sub-sections: