制限事項には複数の両者が関係する場合があり、各両者は関連付けられたクレームを持つ特定のロールを果たします。クレーム ドメインと制限ドメインは密接に関連しているため、識別子とは別にクレーム ドメインにフィールドを埋め込みます。こうすることで、制限が行われた時点でのクレームの詳細のスナップショットを確保できるため、クレームの詳細が変更された場合でも、制限に関連する元の請求データが失われることはありません。
制限 ドメインには、次のキー エンティティが含まれます。
権限と両者の関係は、埋め込み配列を使用してMongoDBで表現する litigation_party_role
テーブルによって容易になります。
画面の右側で、Mappings メニューが開きます。
Mappings from relational tables の横にある [Add] をクリックします。[Embedded array をクリックし、Source table ドロップダウン メニューから litigation_party_role を選択します。
[All fields チェックボックスの下にある litigationIdentifier
フィールドのチェックを外し、Save and close をクリックします。
の横にある [] Mappings from relational tablesをクリックし、[] を選択します。AddEmbedded documentsSource table ドロップダウン メニューから claim を選択します。
[Save and close] をクリックします。
の横にある [] Mappings from relational tablesをクリックし、[] を選択します。AddEmbedded documentsSource table ドロップダウン メニューから insurable_object を選択します。Root path プレフィックスが litigationPartyRoles.claim に設定されていることを確認します。
[Save and close] をクリックします。
の横にある [] Mappings from relational tablesをクリックし、[] を選択します。AddEmbedded arraySource table ドロップダウン メニューから insurable_object_party_role を選択します。Root path プレフィックスが litigationPartyRoles.claim.insurableObjects に設定されていることを確認します。
[Save and close] をクリックします。
必要なテーブルをすべて litigation
ドキュメントにマッピングしたので、 Relational MigratorのMongoDBビューから次のコレクションを削除できます。
agreementPartyRole
litigationPartyRole
insurableObject
insurableObjectPartyRole
locationAddress
insurableObjectParty
わずか 5 つのコレクションで関係スキーマ全体をモデル化しました。
party
partyRole
policy
claim
litigation