Я новичок в Google App Engine, и я пытаюсь запросить уникальный идентификатор хранилища данных. Например, я пытаюсь запросить поле ID/Name
изображения, приведенного ниже.Запрос на уникальный идентификатор в Google App Engine
В настоящее время, код, который я имею в следующем. listID
- это ID как long
, который я перехожу в KeyFactory
. В этом случае это 4573968371548160
или первый на картинке.
Key listKey = KeyFactory.createKey("Lists", listID);
Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.EQUAL, listKey);
Query listQuery = new Query("Lists").setFilter(listFilter);
List<Entity> listResults = datastore.prepare(listQuery).asList(FetchOptions.Builder.withDefaults());
К сожалению, размер listResults
возвращается 0, и я не могу понять, почему. Что самое забавное, что когда я изменить запрос
Query.FilterPredicate listFilter = new Query.FilterPredicate(Entity.KEY_RESERVED_PROPERTY, Query.FilterOperator.GREATER_THAN, listKey);
listResults
возвращает оба предмета в хранилище данных.
Может кто-нибудь объяснить, почему это может быть и как я могу это исправить?
Спасибо !!!
EDIT:
long listID = Long.parseLong(total_json.getString("listID"));
как я инициализировать listID
Не могли бы вы опубликовать, как вы инициализируете listID –
Я опубликовал как я инициализировал listID –