3

HRデータストアでAppEngineを使用していますが、オブジェクトのIDはLong(Javaを使用して)タイプです。IDを自分で設定するのではなく、データストアに新しい一意のIDを選択させます。これまでのところ、正のIDが生成されるのを見ただけです。

AppEngineはネガティブIDも割り当てますか?(もちろん、2 ^ 63を超えるIDを要求しないと仮定します;-))

4

4 に答える 4

1

答えは次のようです:MAYBE。

私のテストでは、正の自動生成IDしか見られませんでしたが、負のIDを保存することができました(手動で割り当てられた場合)。誰かが別の方法を定義する仕様を指摘できるか、AppEngineチームの少なくとも一部のGoogle社員が発言するまで、少なくともいつでも負のIDを生成する権利を留保していると想定する必要があります。したがって、私たちのコードは、生成されたIDが常に正であると想定することはできません。

于 2012-12-23T00:46:27.553 に答える
1

allocate_id_range (ID を事前に割り当てる Python メソッド) は、負の値を渡すと例外をスローします。したがって、負の ID キーは有効なキーではないと思います。

于 2012-08-09T20:28:05.840 に答える
0

いいえ。正の ID のみが生成されます。

于 2012-08-10T05:38:04.387 に答える
0

GAE データストア オブジェクトでは、2 つの一意の値が生成されます。1 つは、モデル オブジェクトのインスタンスを作成するときに生成されるKEYであり、保存 (プット) 操作の後、 IDが生成されます(常に正の数になります)。データストア全体で一意になります。

于 2012-08-10T06:12:46.773 に答える