0

文字列フィールド「customerUniqueId」がObjectifyアノテーション@Idを使用してタグ付けされているデータモデルクラスがあります。したがって、データストアに配置する新しいオブジェクトを作成するときにコードで設定した文字列キーフィールド(auto-number longではない)を使用しています。

@Id private String customerUniqueId;

データストアビューアを使用してこれらのオブジェクトを表示しているときに、[作成]タブをクリックして新しいオブジェクトを作成できます。ただし、「customerUniqueId」フィールドは入力フィールドとして提供されていません。データモデルで@Indexedとしてタグ付けされたフィールドのみが表示されます。

これは予想される動作ですか、それともデータストアビューアの作成機能の@Idフィールドに値を入力できる必要がありますか?

@Idを誤って使用していますか?フィールドに「id」または「name」という名前を付ける必要がありますか?

おそらく、@ Idフィールドに@Indexedのタグを付けたとしても、それは不要なはずです。@Idフィールドは、常に定義としてインデックス付けする必要があります。

おそらく、空白のままにした作成フォームの「名前空間」テキストボックスと関係がありますか?

誰かがこの問題を抱えていて、解決策を知っていますか?ありがとう!

4

1 に答える 1

1

@Id フィールドは、データストアにプロパティとして存在しません。これはエンティティの​​ーの一部です。データストア ビューアーでは、String キーを持つエンティティを作成できないと思います。常に自動生成された番号が使用されます。おそらく、データストア ビューアーに対して Google に問題を報告しますか?

于 2012-10-10T01:32:13.533 に答える