【发布时间】:2020-09-04 22:12:23
【问题描述】:
我有一个项目,bot_users 在game_tables 中播放。所以我有一个连接表。我还将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)
);
我现在的问题是:如何在 Java 中的实体中表示 buy_in 元数据?如果buy_in 不存在,我将只拥有一个ParticipantRef,其中我将在GameTable 实体中拥有一个Set,然后拥有适用于ID 的方法。但我也想在代码中提供buy_in,所以我应该创建一个包含buy_in 的类似ParticipantRef 的实体吗?如果是,那么持久化它是如何工作的?
【问题讨论】:
-
通常我将多对多关系拆分为一对多中的 2 个,如下所示:codejava.net/frameworks/hibernate/…
标签: java spring spring-data spring-data-jdbc