BigInteger ID を持つ MongoDB を使用する Spring Data は、引き続き英数字の ObjectId を生成しています。IDとして数列を持ちたいです。この動作を構成するにはどうすればよいですか?
質問する
2322 次
2 に答える
1
ObjectId
Spring Data MongoDB は、推奨されているように、たまたま sを構成できるすべての型を変換しようとします。MongoDB のリファレンス ドキュメントで説明されているように、これはクラスター全体で着実に増加する ID を作成できるためです。線形 ID (1、2、3 など、着実に増加する ID だけでなく) が本当に必要な場合は、 のタイプを使用しLong
て ID を手動で作成します。
于 2012-06-06T10:05:46.077 に答える
0
springdata doc に従って: Java クラスで BigInteger として宣言された id プロパティまたはフィールドは、Spring コンバーターを使用して ObjectId に変換され、格納されます。
_id に対して正確に何を表現しようとしていますか? ただ大きな数値であれば、long 値を使うと 64bit の数値を表現できるようになります。64 ビットより大きい値を表す必要がある場合は、Mongo で文字列または BinData として表す必要がありますが、固定の 12 バイトであるため、ObjectId として表す必要はありません。
于 2012-04-11T07:50:20.873 に答える