Java で書かれた GAE プロジェクトがあり、HRD と解決方法がわからない問題について考えています。
基本的に、システムにユーザーがいます。ユーザーは、ユーザー ID、ユーザー名、電子メール、およびパスワードで構成されます。新しいユーザーを作成するたびに、同じユーザー ID (決して起こらないはずです)、ユーザー名、または電子メールを持つユーザーがまだ存在しないことを確認したいと考えています。
userid がキーなので、これで get を行うと一貫性が保たれると思います。ただし、同じユーザー名または電子メールを持つ可能性のあるユーザーを検索するためにクエリを実行 (およびフィルターを使用) すると、結果が一貫していると確信できません。そのため、誰かが数秒前に同じユーザー名または電子メールでユーザーを作成した場合、クエリでそれが見つからない可能性があります。この問題を回避するために祖先が使用されていることは理解していますが、クエリに使用する祖先がない場合はどうすればよいでしょうか? ユーザーには親がありません。
これについてのご意見と、このような状況でのベスト プラクティスと考えられるものをお聞かせいただければ幸いです。それが何かを変えるなら、GAEにObjectifyを使用しています。