Package com.google.cloud.datastore
Class Query<V>
java.lang.Object
com.google.cloud.datastore.Query<V>
- Type Parameters:
V
- the type of the values returned by this query.
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AggregationQuery
,GqlQuery
,StructuredQuery
A Google Cloud Datastore query. For usage examples see
GqlQuery
, StructuredQuery
and AggregationQuery
.
Note that queries require proper indexing. See Cloud Datastore Index Configuration for help configuring indexes.
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
This class represents the expected type of the result. -
Method Summary
Modifier and TypeMethodDescriptionstatic AggregationQuery.Builder
Returns a newAggregationQuery
builder.static EntityQuery.Builder
Returns a newStructuredQuery
builder for full (complete entities) queries.static <V> GqlQuery.Builder<V>
newGqlQueryBuilder
(Query.ResultType<V> resultType, String gql) Returns a newGqlQuery
builder.static GqlQuery.Builder<?>
newGqlQueryBuilder
(String gql) Returns a newGqlQuery
builder.static KeyQuery.Builder
Returns a newStructuredQuery
builder for key only queries.Returns a newStructuredQuery
builder for projection queries.
-
Method Details
-
getNamespace
-
newGqlQueryBuilder
Returns a newGqlQuery
builder.Example of creating and running a GQL query.
String kind = "my_kind"; String gqlQuery = "select * from " + kind; Query<?> query = Query.newGqlQueryBuilder(gqlQuery).build(); QueryResults<?> results = datastore.run(query); // Use results
- See Also:
-
newGqlQueryBuilder
public static <V> GqlQuery.Builder<V> newGqlQueryBuilder(Query.ResultType<V> resultType, String gql) Returns a newGqlQuery
builder.Example of creating and running a typed GQL query.
String kind = "my_kind"; String gqlQuery = "select * from " + kind; Query<Entity> query = Query.newGqlQueryBuilder(Query.ResultType.ENTITY, gqlQuery).build(); QueryResults<Entity> results = datastore.run(query); // Use results
- See Also:
-
newEntityQueryBuilder
Returns a newStructuredQuery
builder for full (complete entities) queries.Example of creating and running an entity query.
String kind = "my_kind"; Query<Entity> query = Query.newEntityQueryBuilder().setKind(kind).build(); QueryResults<Entity> results = datastore.run(query); // Use results
-
newKeyQueryBuilder
Returns a newStructuredQuery
builder for key only queries.Example of creating and running a key query.
String kind = "my_kind"; Query<Key> query = Query.newKeyQueryBuilder().setKind(kind).build(); QueryResults<Key> results = datastore.run(query); // Use results
-
newProjectionEntityQueryBuilder
Returns a newStructuredQuery
builder for projection queries.Example of creating and running a projection entity query.
String kind = "my_kind"; String property = "my_property"; Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder() .setKind(kind) .addProjection(property) .build(); QueryResults<ProjectionEntity> results = datastore.run(query); // Use results
-
newAggregationQueryBuilder
Returns a newAggregationQuery
builder.Example of creating and running an
AggregationQuery
.StructuredQuery
example:EntityQuery selectAllQuery = Query.newEntityQueryBuilder() .setKind("Task") .build(); AggregationQuery aggregationQuery = Query.newAggregationQueryBuilder() .addAggregation(count().as("total_count")) .over(selectAllQuery) .build(); AggregationResults aggregationResults = datastore.runAggregation(aggregationQuery); // Use aggregationResults
GqlQuery
example:GqlQuery<?> selectAllGqlQuery = Query.newGqlQueryBuilder( "AGGREGATE COUNT(*) AS total_count OVER(SELECT * FROM Task)" ) .setAllowLiteral(true) .build(); AggregationQuery aggregationQuery = Query.newAggregationQueryBuilder() .over(selectAllGqlQuery) .build(); AggregationResults aggregationResults = datastore.runAggregation(aggregationQuery); // Use aggregationResults
-