Может ли кто-нибудь предоставить простой код о том, как использовать закодированный ключ в 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".