Ключ Google App Engine в Java - PullRequest
       17

Ключ Google App Engine в Java

1 голос
/ 04 октября 2009

Может ли кто-нибудь предоставить простой код о том, как использовать закодированный ключ в Java для движка приложений Google. Пример кода немного сбивает с толку. Предположим, у меня есть класс сотрудника, и я хочу, чтобы первичный ключ создавался вручную в формате «имя, адрес электронной почты, телефон», например, образец ключа «James Smith, james @ mycompany.com, 12345678»

со ссылкой на пример кода

@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
@Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
private String encodedKey;

@Persistent
@Extension(vendorName="datanucleus", key="gae.pk-name", value="true")
private String keyName;

Какие значения я бы назначил encodedKey и keyName? После различных попыток я все еще получаю следующую ошибку:

Поле первичного ключа является закодированной строкой, но было предоставлено незакодированное значение. Если вы хотите установить в это поле значение без кодировки, вы можете изменить его тип на строку без кодирования (удалите расширение «gae.encoded-pk»), измените его тип на com.google.appengine.api.datastore .Key, а затем установите поле имени ключа или создайте отдельное поле String для компонента имени вашего первичного ключа и добавьте расширение "gae.pk-name".

Ответы [ 2 ]

2 голосов
/ 05 октября 2009

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

1 голос
/ 04 октября 2009

Вы должны иметь возможность установить значение для keyName и позволить gae api автоматически заполнить кодированный ключ для вас.

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