Узнайте тип для идентификатора в appengine - PullRequest
0 голосов
/ 12 января 2012

Учитывая идентификатор хранилища данных, есть ли способ узнать тип объекта для этого идентификатора. Или я ошибаюсь, полагая, что идентификаторы в движке приложения уникальны независимо от вида? Я использую API низкого уровня на Java.

Спасибо Клас

Ответы [ 3 ]

2 голосов
/ 13 января 2012

идентификаторы уникальны только для данного вида и родительского объекта, а не глобально, поэтому нет способа получить объект, которому присвоен только идентификатор.Если вы не знаете вид, вам нужно передать закодированный ключ сущности, а не просто идентификатор.

0 голосов
/ 12 января 2012

Если у вас есть ключ сущности, вы можете получить вид, используя getKind (они на самом деле являются частью декодированного ключа).

Но вам нужен Kind для построенияполный ключ от идентификатора, используя KeyFactory.createKey .

0 голосов
/ 12 января 2012

Исходя из моего опыта, ваше предположение верно, ID, предоставленный хранилищем данных, кажется уникальным независимо от вида.

EDIT: Извините, я был не прав. Очевидно, как подтвердил Ник в комментарии, идентификаторы гарантированно будут уникальными только для одного и того же вида, а мои наблюдения применимы только к сущностям на сервере разработки.

Однако, боюсь, на данный момент единственный способ узнать, что Kind связан с определенным идентификатором, - это загрузить сущность из хранилища данных и проверить значение getKind ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...