我正在尝试映射多对多的关系,其中每个用户都有一组朋友,这些朋友也是用户。在数据库表中,这是使用名为 user_friend 的关联表解决的。user_friend 表有两列 user1 和 user2 是用户表中用户 ID 的外键。
最佳解决方案是不为 user_friend 表创建 java ebean 模型,而是让 user 模型有一组用户,其中当前用户是 user_friend 表中的 user1 或 user2。然后映射必须以某种方式引用 user_friend 表中的两列......
这可能吗?
已编辑:添加了 1.sql 的 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 链接到这些用户。