HRデータストアでAppEngineを使用していますが、オブジェクトのIDはLong
(Javaを使用して)タイプです。IDを自分で設定するのではなく、データストアに新しい一意のIDを選択させます。これまでのところ、正のIDが生成されるのを見ただけです。
AppEngineはネガティブIDも割り当てますか?(もちろん、2 ^ 63を超えるIDを要求しないと仮定します;-))
HRデータストアでAppEngineを使用していますが、オブジェクトのIDはLong
(Javaを使用して)タイプです。IDを自分で設定するのではなく、データストアに新しい一意のIDを選択させます。これまでのところ、正のIDが生成されるのを見ただけです。
AppEngineはネガティブIDも割り当てますか?(もちろん、2 ^ 63を超えるIDを要求しないと仮定します;-))
答えは次のようです:MAYBE。
私のテストでは、正の自動生成IDしか見られませんでしたが、負のIDを保存することができました(手動で割り当てられた場合)。誰かが別の方法を定義する仕様を指摘できるか、AppEngineチームの少なくとも一部のGoogle社員が発言するまで、少なくともいつでも負のIDを生成する権利を留保していると想定する必要があります。したがって、私たちのコードは、生成されたIDが常に正であると想定することはできません。
allocate_id_range (ID を事前に割り当てる Python メソッド) は、負の値を渡すと例外をスローします。したがって、負の ID キーは有効なキーではないと思います。
いいえ。正の ID のみが生成されます。
GAE データストア オブジェクトでは、2 つの一意の値が生成されます。1 つは、モデル オブジェクトのインスタンスを作成するときに生成されるKEYであり、保存 (プット) 操作の後、 IDが生成されます(常に正の数になります)。データストア全体で一意になります。