Вопрос

Мне нужно использовать API низкого уровня , чтобы сохранить объект типа Value в Google App Engine.Я искал и нашел только примеры таким способом:

родовое слово

Моя проблема в том, что я не знаю заранее идентификатор (идентификатор значения), потому что мне нужно, чтобы он был сгенерирован как последовательность.Это был бы способ сделать это в API низкого уровня, как это делается в JDO как:

родовое слово

Как я могу получить идентификатор на низком уровне или настроить его для генерации в виде последовательности?

Спасибо.

Это было полезно?

Решение

Класс Entity имеет множество конструкторов.Используйте тот, который принимает единственную строку - имя типа - и идентификатор будет сгенерирован для вас, когда вы сохраните его в хранилище данных.

Другие советы

Может быть, попробовать использовать "allocateIds", чтобы выделить диапазон используемых идентификаторов? Это даст вам набор зарезервированных ключей для использования. Я сомневаюсь, что вы сможете получить строгую последовательность, например, в реляционных базах данных, но, по крайней мере, вы сможете получить гарантированные уникальные и пригодные для использования ключи.

См. документацию по DatastoreService:

http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/ DatastoreService.html # allocateIds% 28com.google.appengine.api.datastore.Key,% 20java.lang.String,% 20long% 29

Также для получения дополнительной информации вы можете взглянуть на то, как Datanucleus использует этот API:

http://code.google.com/p/datanucleus-appengine/source/browse/trunk/src/org/datanucleus/store/appengine/valuegenerator/SequenceGenerator.java?r=473

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top