私は、すべてのユーザーがユーザーでもある一連の友人を持つ多対多の関係をマッピングしようとしています。データベース テーブルでは、これは user_friend という関連付けテーブルを使用して解決されます。user_friend テーブルには、user1 と user2 の 2 つの列があり、user テーブル内のユーザー ID への外部キーです。
最適な解決策は、user_friend テーブルの Java ebean モデルを作成せず、ユーザー モデルにユーザーのセットを持たせることです。現在のユーザーは、user_friend テーブルの user1 または user2 です。マッピングは、user_friend テーブルの 2 つの列を何らかの方法で参照する必要があります...
これは可能ですか?
編集: SQL for 1.sql を追加
CREATE TABLE User (
id bigint(20) NOT NULL AUTO_INCREMENT,
email varchar2(255) NOT NULL UNIQUE,
password varchar2(255) NOT NULL,
name varchar2(255) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE User_friend (
id bigint(20) NOT NULL AUTO_INCREMENT,
user1 bigint(20) NOT NULL,
user2 bigint(20) NOT NULL,
sent TIMESTAMP NOT NULL,
accepted TIMESTAMP,
PRIMARY KEY (ID),
FOREIGN KEY(user1) REFERENCES User(id),
FOREIGN KEY(user2) REFERENCES User(id)
);
問題は、すべてのユーザー インスタンスに、user1 または user2 としてリンクされているユーザーのセットを持たせることです。