2013-03-28 3 views
0

Привет Я использую Objectify для управления хранилищем данных AppEngine. Я следующий объект:Не удается удалить объект из локального хранилища данных AppEngine

public class Config implements Serializable{ @Id Long id ;} 

У меня также есть хранилище, которое использует ofy().get() and ofy().put():

public class ConfigRepo extends DAOBase{}; 

Примечание: Это для локального хоста

Я удалил local_db.bin из AppEngine сгенерированных и очистил memcache задницу хорошо. Однако, когда я пытаюсь запустить

ofy.delete(allKeys)

очистить хранилище данных я получаю сообщение об ошибке:

java.lang.IllegalArgumentException: id cannot be zero 

Или

java.lang.IllegalArgumentException: Config(no-id-yet) is incomplete. 

Что мой я делаю неправильно?

Благодаря

ответ

1

Проблема решена.

Оказалось, что в root/war/WEB-INF/appengine сгенерировано два файла local_db.bin и один в корневом каталоге/WEB-INF/appengine Мне пришлось удалить local_db.bin из обоих местоположения.

Спасибо.

0

Проблема должна быть где-то в коде, который инициализирует AllKeys, вы не передаете в правильных идентификаторов сущностей. Возможно, вы генерируете ключи до того, как сущности сохраняются и генерируются идентификаторы. Если это не поможет, пожалуйста, покажите соответствующие части вашего кода!

+0

Оказалось, что в файле root/war/web-inf/appengine было создано два файла local_db.bin, а один из файлов root/web-inf/appengine был удален, и мне пришлось удалить оба файла local_db.bin. прошло. Мне все еще интересно, как эти данные создаются с тех пор, как я использую функцию автоматического генерации ключей, что означает, что @id Long без ключа в первый раз. – Mayumi

Смежные вопросы