GAE上で動くWebアプリケーションに特有の例外について、弊社での運用の事例からいくつか特徴的なものなどをピックアップしてご報告します。 今後追加して行きますので。第一弾です。 Java 7, SDK 1.8.8の環境です。 TooManyResultsException 発生要因 DatastoreからPreparedQuery.asSingleEntity()を利用して1エンティティを取得しようとしたとき、 複数のエンティティが取得された場合に発生するエラー。 原因例 1件だけのはずが複数返却されてきています。原因はいくつかありますが、 データが論理矛盾を起こしている 設計を理解せず複数取得されるのが当然のクエリに対して、asSingle()をしてしまっている あたりが主な原因です。 対策案 原因が1番の状況では、データをユニークにすることが一番初めに検討するべき対策となるでしょう。