public abstract class Query<V> implements SerializableA 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: Datastore Queries
Implements
SerializableType Parameter |
|
|---|---|
| Name | Description |
V |
|
Static Methods
<V>newGqlQueryBuilder(Query.ResultType<V> resultType, String gql)
public static GqlQuery.Builder<V> <V>newGqlQueryBuilder(Query.ResultType<V> resultType, String gql)Returns a new GqlQuery 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
| Parameters | |
|---|---|
| Name | Description |
resultType |
ResultType<V> |
gql |
String |
| Returns | |
|---|---|
| Type | Description |
Builder<V> |
|
newAggregationQueryBuilder()
public static AggregationQuery.Builder newAggregationQueryBuilder()Returns a new AggregationQuery 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
| Returns | |
|---|---|
| Type | Description |
AggregationQuery.Builder |
|
newEntityQueryBuilder()
public static EntityQuery.Builder newEntityQueryBuilder()Returns a new StructuredQuery 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
| Returns | |
|---|---|
| Type | Description |
EntityQuery.Builder |
|
newGqlQueryBuilder(String gql)
public static GqlQuery.Builder<?> newGqlQueryBuilder(String gql)Returns a new GqlQuery 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
| Parameter | |
|---|---|
| Name | Description |
gql |
String |
| Returns | |
|---|---|
| Type | Description |
Builder<?> |
|
newKeyQueryBuilder()
public static KeyQuery.Builder newKeyQueryBuilder()Returns a new StructuredQuery 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
| Returns | |
|---|---|
| Type | Description |
KeyQuery.Builder |
|
newProjectionEntityQueryBuilder()
public static ProjectionEntityQuery.Builder newProjectionEntityQueryBuilder()Returns a new StructuredQuery 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
| Returns | |
|---|---|
| Type | Description |
ProjectionEntityQuery.Builder |
|
Methods
getNamespace()
public String getNamespace()| Returns | |
|---|---|
| Type | Description |
String |
|