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
Nested ClassesModifier and TypeClassDescriptionstatic classThis class represents the expected type of the result. -
Method Summary
Modifier and TypeMethodDescriptionstatic AggregationQuery.BuilderReturns a newAggregationQuerybuilder.static EntityQuery.BuilderReturns a newStructuredQuerybuilder for full (complete entities) queries.static <V> GqlQuery.Builder<V>newGqlQueryBuilder(Query.ResultType<V> resultType, String gql) Returns a newGqlQuerybuilder.static GqlQuery.Builder<?>newGqlQueryBuilder(String gql) Returns a newGqlQuerybuilder.static KeyQuery.BuilderReturns a newStructuredQuerybuilder for key only queries.Returns a newStructuredQuerybuilder for projection queries.
-
Method Details
-
getNamespace
-
newGqlQueryBuilder
Returns a newGqlQuerybuilder.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 newGqlQuerybuilder.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 newStructuredQuerybuilder 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 newStructuredQuerybuilder 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 newStructuredQuerybuilder 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 newAggregationQuerybuilder.Example of creating and running an
AggregationQuery.StructuredQueryexample: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 aggregationResultsGqlQueryexample: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
-