プロジェクトで一連のテーブル/クラスをモデル化する際に助けが必要です。これらのテーブルの休止状態のマッピングを行う方法についても助けが必要です。私のプロジェクトには次のテーブルがあります。
- 人
- 組織
- コンタクト
- 住所
person テーブルには、1 つ以上の住所を含めることができます。組織と連絡先は、アドレスを 1 つだけ持つことができます。そのため、テーブル間の関係を確立するために次の列を追加しました。
Address テーブルには PersonId があります [1 人の Person が複数のアドレスを持つことができるため]。
Organization および Contact テーブルには AddressId があります [これらのテーブルは 1 つのアドレスしか持てないため]。
- これらのテーブル用に作成する必要がある Java クラスを知りたいです。現在、Person、Address、Organization、および Contact クラスがあります。Address クラスを Person、Organization、Contact クラスにリンクする方法がわかりません。
- Address をコンポーネントと見なすべきか、エンティティと見なすべきかを知りたいです。また、xml マッピング アドレスを作成する方法は、コンポーネントと見なされます。
- Address テーブルの PersonId には、Organization および Contact 用に作成された Address レコードの null 値が含まれる場合があります。個人のアドレスのリストを格納するために、別のテーブル [たとえば Person_Address] を作成しても問題ありません。しかし、このリンク テーブルを使用すると、Person テーブルと Address テーブルの間の多対多の関係を提供できます。この場合、1 対多の関係を強制するにはどうすればよいですか。