エンティティのフィールド名を変更した場合を試しています。たとえば、このようなものがあります
class Person {
String name; //The original declaration was "String fullName"
}
objectifyによると、annonationを使用する必要があります@AutoLoad("")
。これは問題なく、Google Datastoreは実際にはデータを削除しないので機能しますが、新しいフィールドを作成するため、このアノテーションは古いフィールドと新しいフィールドの間のマッピングのようなものです。テーブル全体を読んでいるときは問題ありません。
クエリにフィルタを適用すると、問題が発生します(古い名前で5つのオブジェクトを作成し、新しい名前で5つのオブジェクトを作成したとします)。クエリの結果は、古い変数名を使用したか、新しい変数名を使用したかによって異なります(5のみを返しますが、10は返しません)。それらの両方をフェッチしてマップすることはありません。この問題について何か提案はありますか?わかりやすく説明したと思います。
前もって感謝します