Bonjour, je travaille avec Google App Engine sur un projet qui stocke et récupère les données du magasin de données en nuage. L'ajout des données et leur écriture n'ont pas posé de problème, mais leur récupération à l'aide de GqlQueries s'est avérée difficile. Le problème que je rencontre est le suivant: je suis incapable d'instancier l'objet Datastore d'une manière qui me permettra de l'utiliser avec GQL. Je pense que la question a trait à l'utilisation de mauvaises importations. Voici une partie de mon code:Utilisation de Java, Comment est-ce que j'instancie GAE Datastore afin qu'il puisse être utilisé conjointement avec GqlQuery?
.
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Key;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.KeyFactory;
import com.google.appengine.api.datastore.Query.Filter;
import com.google.appengine.api.datastore.*;
import com.google.appengine.api.datastore.Query.FilterPredicate;
import com.google.appengine.api.datastore.Query.FilterOperator;
import com.google.appengine.api.datastore.Query.CompositeFilter;
import com.google.appengine.api.datastore.Query.CompositeFilterOperator;
import com.google.appengine.api.datastore.Query;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.apphosting.datastore.DatastoreV4.EntityResult;
import com.google.apphosting.datastore.DatastoreV4.GqlQuery;
import com.google.apphosting.datastore.DatastoreV4.PropertyFilter;
import com.google.apphosting.datastore.DatastoreV4.RunQueryRequest;
import com.google.apphosting.datastore.DatastoreV4.RunQueryResponse;
//Build a Query
GqlQuery.Builder query = GqlQuery.newBuilder().setQueryString("SELECT * FROM Person");
RunQueryRequest request = RunQueryRequest.newBuilder().setGqlQuery(query).build();
RunQueryResponse response = datastore.runQuery(request);
List<Entity> results = new ArrayList<Entity>();
for (EntityResult entityResult : response.getBatch().getEntityResultList()) {
results.add(entityResult.getEntity());
}
/* This is the Datastore object I was initializing. It initializes just fine but
it cannot invoke the runQuery(request) method; nor will it allow me to add items to the
list of entities, keeps saying that they are not of similar type.
*/
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Avec avec capture d'écran, vous pouvez voir, il y a beaucoup d'options différentes pour les importations et il semble que peu importe laquelle je choisis il provoque des problèmes de quelque sorte. .
Ce pop-up apparaît sur l'une des importations qui utilisent reconditionnés: « L'utilisation de com.google.appengine.repackaged peut entraîner votre rupture d'application sans avertissement. »
Quelqu'un at-il des recommandations sur la façon de résoudre ce problème? Quelles importations utiliser? Ou tout tutoriel que je peux suivre sur le sujet? Je l'apprécierais. Merci!
-Sil
Je sais que ce ne est pas une solution, mais vous avez envisagé d'utiliser une sorte de cadre au-dessus du magasin de données? Peut-être objectiver? – jirungaray