public abstract class StructuredQuery<V> extends Query<V> implements RecordQuery<V>
An implementation of a Google Cloud Datastore Query that can be constructed by providing all the specific query elements.
A usage example:
A simple query that returns all entities for a specific kind
Query<Entity> query = Query.newEntityQueryBuilder().setKind(kind).build();
QueryResults<Entity> results = datastore.run(query);
while (results.hasNext()) {
Entity entity = results.next();
...
}
A simple key-only query of all entities for a specific kind
Query<Key> keyOnlyQuery = Query.newKeyQueryBuilder().setKind(KIND1).build();
QueryResults<Key> results = datastore.run(keyOnlyQuery);
...
A less trivial example of a projection query that returns the first 10 results of "age" and "name" properties (sorted and grouped by "age") with an age greater than 18
Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder()
.setKind(kind)
.setProjection(Projection.property("age"), Projection.first("name"))
.setFilter(PropertyFilter.gt("age", 18))
.setGroupBy("age")
.setOrderBy(OrderBy.asc("age"))
.setLimit(10)
.build();
QueryResults<ProjectionEntity> results = datastore.run(query);
...
See Also: Datastore queries
Implements
com.google.cloud.datastore.RecordQuery<V>Type Parameter | |
---|---|
Name | Description |
V |
Methods
equals(Object obj)
public boolean equals(Object obj)
Parameter | |
---|---|
Name | Description |
obj | Object |
Returns | |
---|---|
Type | Description |
boolean |
getDistinctOn()
public List<String> getDistinctOn()
Returns the distinct on clause for this query.
Returns | |
---|---|
Type | Description |
List<String> |
getEndCursor()
public Cursor getEndCursor()
Returns the end cursor for this query.
Returns | |
---|---|
Type | Description |
Cursor |
getFilter()
public StructuredQuery.Filter getFilter()
Returns the filter for this query.
Returns | |
---|---|
Type | Description |
StructuredQuery.Filter |
getKind()
public String getKind()
Returns the kind for this query.
Returns | |
---|---|
Type | Description |
String |
getLimit()
public Integer getLimit()
Returns the limit for this query.
Returns | |
---|---|
Type | Description |
Integer |
getOffset()
public int getOffset()
Returns the offset for this query.
Returns | |
---|---|
Type | Description |
int |
getOrderBy()
public List<StructuredQuery.OrderBy> getOrderBy()
Returns the order by clause for this query.
Returns | |
---|---|
Type | Description |
List<OrderBy> |
getProjection()
public List<String> getProjection()
Returns the projection for this query.
Returns | |
---|---|
Type | Description |
List<String> |
getStartCursor()
public Cursor getStartCursor()
Returns the start cursor for this query.
Returns | |
---|---|
Type | Description |
Cursor |
getType()
public Query.ResultType<V> getType()
Returns | |
---|---|
Type | Description |
ResultType<V> |
hashCode()
public int hashCode()
Returns | |
---|---|
Type | Description |
int |
nextQuery(RunQueryResponse responsePb)
public StructuredQuery<V> nextQuery(RunQueryResponse responsePb)
Parameter | |
---|---|
Name | Description |
responsePb | RunQueryResponse |
Returns | |
---|---|
Type | Description |
StructuredQuery<V> |
populatePb(RunQueryRequest.Builder requestPb)
public void populatePb(RunQueryRequest.Builder requestPb)
Parameter | |
---|---|
Name | Description |
requestPb | RunQueryRequest.Builder |
toBuilder()
public abstract StructuredQuery.Builder<V> toBuilder()
Returns | |
---|---|
Type | Description |
Builder<V> |
toString()
public String toString()
Returns | |
---|---|
Type | Description |
String |