Following are code samples on Google App Engine Datastore Query and how to get entities by id and based on filters.
Get Entity By Id
Pay attention to the code “datastore.get(KeyFactory.createKey( “savedreport”, reportId). “savedreport” is the name of entity.
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Entity entity = null;
try {
entity = datastore.get(KeyFactory.createKey("savedreport", reportId));
} catch(EntityNotFoundException e) {
e.printStackTrace();
}
Get Entity By One Filter
Pay attention to “setFilter” method
Filter createdByFilter = new FilterPredicate("created_by", FilterOperator.EQUAL, userId );
Query query = new Query("sqm").setFilter( createdByFilter );
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
List entities = datastore.prepare(query).asList( FetchOptions.Builder.withLimit( count ) );
Get Entity By Multiple Filter
Pay attention to usage of multiple FilterPredicate methods and CompositeFilterOperator and setFilter method called on Query.
Filter dateMinFilter = new FilterPredicate("sprint_enddate", FilterOperator.GREATER_THAN_OR_EQUAL, beginDate );
Filter dateMaxFilter = new FilterPredicate("sprint_enddate", FilterOperator.LESS_THAN_OR_EQUAL, endDate );
Filter nameFilter = new FilterPredicate("project_id", FilterOperator.EQUAL, projectId );
Filter createdByFilter = new FilterPredicate("created_by", FilterOperator.EQUAL, createdBy );
Filter rangeFilter = CompositeFilterOperator.and( nameFilter, createdByFilter, dateMinFilter, dateMaxFilter );
Query query = new Query("sqm").setFilter( rangeFilter );
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
List entities = datastore.prepare(query).asList( FetchOptions.Builder.withLimit( count ) );
Latest posts by Ajitesh Kumar (see all)
- Agentic Reasoning Design Patterns in AI: Examples - October 18, 2024
- LLMs for Adaptive Learning & Personalized Education - October 8, 2024
- Sparse Mixture of Experts (MoE) Models: Examples - October 6, 2024
I found it very helpful. However the differences are not too understandable for me