休止状態で関係を達成するための最良の方法を見つけようとしています。Customer オブジェクトがあります。各顧客には、技術担当者、請求担当者、および販売担当者がいます。各タイプの連絡先は、まったく同じデータ構造 (電話、電子メール、住所など) を持っています。
私が最初に考えたのは、Contact テーブルを作成し、Customer テーブルに sales_contact、billing_contact、technical_contact の 3 つの列を作成することでした。これにより、同じ 2 つのテーブル間に 3 つの異なる外部キーの 1 対 1 の関係が作成されます。ただし、少なくとも注釈を使用して、これを Hibernate でマッピングするのは非常に難しいことがわかりました。
もう 1 つの考えは、多対多の関係にし、マッピング テーブルにタイプ フラグを設定することでした。したがって、顧客は複数の連絡先 (この場合は 3 つまで) を持つことができ、連絡先は複数の顧客に属することができます。でも、それをマッピングする方法もわかりませんでした。マップ テーブルのタイプ フィールドでしょうか? この属性は Contact Java モデル オブジェクトに表示されますか? Customer モデルには、一連の Contact オブジェクトがありますか。それとも 3 つの個別の Contact オブジェクトですか?
だから私は本当にここで2つのことを探しています.1.これをデータベースに実装する最良の方法は何ですか?