0

私のアプリケーションには、 と の 2 つのクラスがActivityありUserます。それらの間の関係は次のとおりです。

  • アクティビティには複数のユーザーを含めることができます。クラスList<User>にこの目的のためのフィールドがあります。Activity
  • ユーザーは複数のアクティビティに属することができ、各アクティビティで特定の役割を持つことができます。ここMap<String, String>UserkeyこれMapの はactivityIdで、値はroleIdです。Role定義済みのロールは 4 つしかないため、テーブルはありません。

ManyToOneと の間にまたはOneToManyまたはManyToManyの関係があるとUserしたら、私には理解できませんActivityList<User>または、オブジェクト全体をデータベースActivityMap<String, String>一緒に単純に保存する必要がありUserます。もしそうなら、どうすれば全体ListMap.

どんなポインタでも私にとって非常に役に立ちます。

4

2 に答える 2

1

最初に、デザインがデータベースにどのようになるかを考えます。私の理解が正しければ、次の 3 つのテーブルがあります。

  • ユーザー
  • アクティビティ
  • 参加

ここで、参加には、ユーザーへの外部キー、アクティビティへの外部キー、および役割があります。

だから私はそれを次のように単純にマッピングします

  • ユーザーは参加のある OneToMany を持っています
  • アクティビティには、参加のある OneToMany があります

もちろん、これら 2 つの関連付けを双方向にすることもできます。

于 2013-02-05T10:15:28.397 に答える
1

User <-> Activityですmany to many。ナビゲーションのしやすさbidirectional- 選択はあなた次第です。UserActivityMapまた、3 つの属性 (userId、ActivityId、roleId) を持つオブジェクトも必要です。RoleId は、RoleObject の列挙型または ID にすることができます。後者の場合、ルックアップ テーブルを定義し、RoleObject をそれにマップできます。

于 2013-02-05T10:17:38.627 に答える