java—如何处理与spring数据jdbc的多对多关系中的元数据?

izkcnapc  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(442)

我有个项目,在哪里 bot_user 我们来玩吧 game_table s。所以我有一个连接表。我还储存 buy_in (牌桌上的牌手可用的点数)在该联接表中。我的sql:

CREATE TABLE bot_users (
    user_id bigint PRIMARY KEY,
    free_points bigint CHECK (free_points >= 0),
    frozen_points bigint CHECK (frozen_points >= 0)
);

CREATE TABLE game_tables (
    channel_id bigint PRIMARY KEY,
    owner bigint REFERENCES bot_users(user_id),
    in_game boolean NOT NULL
);

CREATE TABLE game_tables_participants (
    game_table_id bigint REFERENCES game_tables(channel_id),
    participant_id bigint REFERENCES bot_users(user_id),
    buy_in bigint NOT NULL,
    PRIMARY KEY (game_table_id, participant_id)
);

我现在的问题是:我该如何表达 buy_in java实体中的元数据?如果 buy_in 如果不存在,我只会有一个 ParticipantRef 我会有一个 SetGameTable 实体,然后在那里有处理id的方法。但是我想要 buy_in 在代码中也可用,所以我应该创建一个 ParticipantRef -类似于包含 buy_in ? 如果是的话,那么坚持到底会怎样呢?

uz75evzq

uz75evzq1#

你提出的解决方案基本上就是这样做的。而不是有一个 ParticipantRef 只有一个 userIdBotUsers 它还得到了一个 buyIn 属性。
因为你有一个 GameTable 通过 SetParticipantRef 它将被视为gametable聚合的一部分,并在您持久化 GameTable 示例。

相关问题