私は休止状態を使用しており、ユーザーと友人の関係を表現しようとしています。私の最初の考えは、友達オブジェクトのセットを使用してユーザーオブジェクトを作成することです。
すべてのユーザーと次のような情報を含むユーザーテーブルが欲しいのですが。
ユーザーテーブル:名、姓など。
次に、関係を管理するためのUser_Friendテーブル。何かのようなもの:
* User_Friendテーブル:id、userId、friendId(userId)*
ユーザーには多くのfriendIdがあります。
ユーザーオブジェクトのテーブルとマッピングを作成しました。
<id name="id" type="int">
<column name="userId" />
<generator class="native" />
</id>
<set name="friends" table="User_Friend???"
inverse="true" lazy="true" fetch="select">
<key>
<column name="userId" not-null="true" />
</key>
<many-to-many entity-name="Friend">
<column name="friendId" not-null="true" />
</many-to-many>
</set>
<property name="firstName" type="string"></property>
<property name="lastName" type="string"></property>
<property name="email" type="string"></property>
フレンド情報(名、姓など)をユーザーテーブルに保持し、リレーションシップをUser_Friendのようなテーブルに保持したい場合、フレンドオブジェクトのマッピングはどのようになりますか?
友達を本質的にユーザーとして扱うべきですか?もしそうなら、上記のUser_FriendテーブルをUserテーブルに変更しますか?
編集:結合テーブルを使用した双方向の1対多/多対1を説明する休止状態の参照への
このリンクを見つけました。
これにより、(友人用の)ユーザーテーブルを複製せずに、ユーザーと友人の関係を作成できますか?
ありがとう!