私はメインフレームからjavaへの移行に取り組んでいます。 DB2には1つのテーブルがあります。私はGemfireの領域としてこのテーブルを複製しています。これを実行している間、私はそのテーブルの複合主キーを持っています。テーブルをgemfire領域に複製する。私は地域のための複合主キーを作りたい。私はちょうどそれを知りたいです、リージョンに複合プライマリキーを作成する可能性はありますか?Gemfire地域で複合主キーシナリオを作成するにはどうすればよいですか?
0
A
答えて
1
理想的には、キー/値のペアがリージョンに「入れられた」後に値が変化しないキーを作成しています。 GemFire/Geode Regionは、java.util.Map
(正確にはHashMap)の賞賛されたバージョンです。
これは、 "複合"キーがRegion値自体のプロパティ値に基づいてはならないことを意味します。一例として、私はそうのように定義された値Customer
を持っている想像...
class Customer {
Long accountNumber;
Gender gender;
LocalDate birthDate;
String firstName;
String lastName;
...
}
人の生年月日ながらそう...
class CustomerKey {
LocalDate birthDate;
String firstName;
String lastName;
}
のようなキーを作成した後にはお勧めできませんでしょうこれらの個々のプロパティ/フィールド値のいずれかが変更された場合、Java Map
の本質的な振る舞いを考慮してペアリングを失います(注意してください)。
また、作成する「カスタム/コンポジット」キークラスのメソッドequals/hashCode
を慎重に作成するよう注意してください。
通常、内部(アプリケーションにのみ知られている)のスカラータイプを使用することをお勧めします。 Long
またはString
。
class Customer {
Long id;
...
}
時間のほとんどを
、あなたの(OQL)クエリ述語が個々の値に基づいています。これは、そうのようなCustomer
クラスにプロパティ/フィールドを追加するのと同じくらい簡単だろう
...ドメインオブジェクトのプロパティ/フィールドであり、キーではありません。あなたの鍵はString
た場合たとえば...
はまた、あなたはユニークな値を生成するUUIDクラスを使用することができます。それ以外の場合は、独自の独自の鍵生成戦略を策定する必要があります。
要するに、Javaで慎重に作成されたクラスの種類を指定することで可能なことは可能ですが、一般的には推奨されません。シンプルなスカラー型を好む。
ここには、一般的なことを覚えておいてほしいことがいくつかあります:linkです。
これが役に立ちます。
-john
関連する問題
- 1. OneToMany複合主キーシナリオ
- 2. netlogoで複数のエージェントグループの地域を作成するにはどうすればよいですか?
- 3. Gemfire地域サイズ
- 4. Gemfire地域同期
- 5. 同じ主キーで複数のDynamoDBエントリを作成するにはどうすればよいですか?
- 6. 複合主キーを別のテーブルに挿入するにはどうすればよいですか?
- 7. 生成された地形図のカラーマップを作成するにはどうすればよいですか?
- 8. XamarinフォームでiPhoneから地域設定を検出するにはどうすればよいですか?
- 9. 外部キーを含む複合主キーをモデル化するにはどうすればよいですか?
- 10. アンドロイドアプリで国を地域別に変更するにはどうすればよいですか?
- 11. 合成WMを作成するにはどうすればいいですか?
- 12. コアデータの複合主キーのフィールドの順序を変更するにはどうすればよいですか?
- 13. Javascriptで画面の領域から画像を作成するにはどうすればよいですか?
- 14. mysqlで複数の自己結合を作成するにはどうすればよいですか?
- 15. rethinkdbで複合マルチインデックスを作成するにはどうすればよいですか?
- 16. 複雑なRails has_manyスコープで外部結合を作成するにはどうすればよいですか?
- 17. コードでWP7の「地域と言語」設定を取得するにはどうすればよいですか?
- 18. 特定の地域でフォントとフォントの色を調整するにはどうすればよいですか?
- 19. 国/地域コード(ISO)でビジネス/就業日を取得するにはどうすればよいですか?
- 20. 新しいMFCダイアログのデフォルト言語(地域)を変更するにはどうすればよいですか?
- 21. ジオコーディングオブジェクトから地域/都市を取得するにはどうすればよいですか?
- 22. Googleマップから特定の地域のユーザーを検索するにはどうすればよいですか?
- 23. マップにGoogle地域を表示するにはどうすればよいですか?
- 24. 地域IPをグローバル転送IPに転送するにはどうすればよいですか?
- 25. Geochartの州ごとに地域の色を設定するにはどうすればよいですか?
- 26. Prefuseで積み上げ領域チャートを作成するにはどうすればよいですか?
- 27. データベースにwritebehindするためにGemfireでシーケンシャルユニークキーを実装するにはどうすればよいですか?
- 28. Zipcodeデータセットで地図を作成するにはどうすればよいですか? (米国郵便番号)
- 29. 親テーブルと同じ主キーを持つナビゲーションプロパティを作成するにはどうすればよいですか?
- 30. 複合外来キーを使用してモデルを作成するにはどうすればよいですか?
はいjohn、あなたは正しいです。あなたのアドバイスに従って、私は複合主キーを首尾よく実装しました。私は、シリアライゼーションとデシリアライゼーションのために、複合プライマリキーPOJOのjarファイルをgemfireサーバにデプロイする必要があります。ありがとうジョン。 –