私は google-app-engine を初めて使用し、テスト アプリケーションの開発中に問題が発生しました。ユーザーエンティティを保存するために、ユーザーの電子メールIDを使用してキーを生成しています。
Key key = KeyFactory.createKey("email",email );
データストア ビューアを見ると、キーを生成するために同じ電子メール ID を指定している場合でも、キーのほとんどの部分が同じで、キーの最後のアルファベットがいくつか変更されています。
実際には、コードを使用してキーでユーザーエンティティを取得したいと考えていました。
Entity user = datastore.get(key);
しかし、キーが以前と同じではないため、noEntityFoundExceptionを取得しています
私が聞きたかったのは、入力が同じであるのに、生成されたキーが毎回異なる理由です。
また、毎回異なる場合、そのキーでエンティティを直接取得できるように、毎回同じキーを生成するようにするにはどうすればよいですか?
より明確にするために:ここにコードがあります index.jsp はウェルカムファイルです。abc@example.com などのメール ID を持つユーザーを作成します。これにより、フォームの詳細が
com.siolabs.tambola.Createuser.java
Createuserサーブレットは、電子メール ID が存在するかどうかを確認します。そうでない場合は、情報をデータストアに保存します。
次に、ログインのために index.jsp ページに情報を送信します。リクエストを com.siolabs.tambola.Login.java に転送します。 ログイン サーブレットは、電子メール ID が存在するかどうかを確認し、存在する場合はリクエストをhome.jspページに転送します。
問題は、ログインサーブレットがメール ID が変更されても見つからないことです。
ありがとう