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
public abstract class Query<V> extends Object implements Serializable
A Google Cloud Datastore query. For usage examples seeGqlQuery
,StructuredQuery
andAggregationQuery
.Note that queries require proper indexing. See Cloud Datastore Index Configuration for help configuring indexes.
- See Also:
- Datastore Queries, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Query.ResultType<V>
This class represents the expected type of the result.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getNamespace()
static AggregationQuery.Builder
newAggregationQueryBuilder()
Returns a newAggregationQuery
builder.static EntityQuery.Builder
newEntityQueryBuilder()
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
newKeyQueryBuilder()
Returns a newStructuredQuery
builder for key only queries.static ProjectionEntityQuery.Builder
newProjectionEntityQueryBuilder()
Returns a newStructuredQuery
builder for projection queries.
-
-
-
Method Detail
-
getNamespace
public String getNamespace()
-
newGqlQueryBuilder
public static GqlQuery.Builder<?> newGqlQueryBuilder(String gql)
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:
- GQL Reference
-
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:
- GQL Reference
-
newEntityQueryBuilder
public static EntityQuery.Builder 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
public static KeyQuery.Builder 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
public static ProjectionEntityQuery.Builder 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
public static AggregationQuery.Builder 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
-
-