我有个项目,在哪里 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
我会有一个 Set
在 GameTable
实体,然后在那里有处理id的方法。但是我想要 buy_in
在代码中也可用,所以我应该创建一个 ParticipantRef
-类似于包含 buy_in
? 如果是的话,那么坚持到底会怎样呢?
1条答案
按热度按时间uz75evzq1#
你提出的解决方案基本上就是这样做的。而不是有一个
ParticipantRef
只有一个userId
的BotUsers
它还得到了一个buyIn
属性。因为你有一个
GameTable
通过Set
到ParticipantRef
它将被视为gametable聚合的一部分,并在您持久化GameTable
示例。