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:
Argument | Description |
---|---|
whereClause |
sets a search query. A query must be in the SQL-92 syntax (the "where" clause part). |
sortBy |
sets an array of column names to sort the data objects in the response by. |
related |
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. |
relationsDepth |
sets the number of "levels" in the hierarchy of related objects to include into the response. |
pageSize |
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. |
offset |
sets the offset - an index in the server-side storage from where the data objects should be retrieved. |
groupBy |
Used with Aggregate Functions. Sets the name of the columns to group the results by. |
havingClause |
Used with Aggregate Functions. Sets a condition on a aggregate function to filter groups. |
Method Signature¶
Method:
Future<List<Map>> Backendless.data.of("TABLE-NAME").find([DataQueryBuilder queryBuilder]);
Future<List<E>> Backendless.data.withClass<E>().find([DataQueryBuilder queryBuilder]);
where:
Argument | Description |
---|---|
TABLE-NAME |
Name of the table to retrieve data from. |
E |
Java class identifying the table to retrieve data from. The name of the class must match the name of the table. |
queryBuilder |
an instance of DataQueryBuilder - contains the search query and other search options. |
Return Value¶
The collection of strongly typed objects found as a result of the query execution.
Examples¶
For examples on using the advanced object retrieval API, see the following sub-sections: