エンティティには、User と Trip の 2 種類があります。User は Trip の親であり、Trip は User の子です。
プライバシーを考慮して、旅行 ID/名前のみを投稿しています。Trip Key にはエンコードされたユーザー ID/名前が含まれているように見えるためです。
親キーが不明な場合、ID/名前でエンティティを取得する方法は?
エンティティには、User と Trip の 2 種類があります。User は Trip の親であり、Trip は User の子です。
プライバシーを考慮して、旅行 ID/名前のみを投稿しています。Trip Key にはエンコードされたユーザー ID/名前が含まれているように見えるためです。
親キーが不明な場合、ID/名前でエンティティを取得する方法は?
できません。親キーはエンティティキーの一部であり、エンティティを取得するには完全なキーが必要です。
また、キーフィルタを使用したクエリでは、祖先キーを指定しない限り、親を持つエンティティは検索されません。
@peter-knego 最初の質問: ユーザーは Trip の親です。ID でエンティティを取得するには、完全なキーを取得するために親でキーを再構築する必要があります。ただし、Trip の完全なキーに ID を割り当てるだけで、これを回避できます。また、ID が割り当てられた完全なキーを作成することもできます。これが私の論理です。
次のようなことができます。
public Entity GetEntity(String kind, String idName)
throws EntityNotFoundException{
Key key = KeyFactory.createKey(kind, Long.parseLong(idName));
return datastore.get(key);
}