小编gui*_*ill的帖子

Hibernate 复合键和重叠字段 - 如何避免列重复

我面临一个关于如何管理特定模型的映射的问题。

这是一个多租户应用,我们已经选择了在每个实体中都包含“tenant_id”,所以我们不必每次需要获取实体时都进行联合(实际上,这就是我问题的根源……)。

模型如下:

+--------------------+   +---------------+
|        Book        |   |    Author     |
+--------------------+   +---------------+
| id (pk)            |   | id (pk)       |
| tenant_id (pk)(fk) |   | tenant_id (pk |
| author_id (fk)     |   | name          |
| title              |   +---------------+
+--------------------+
Run Code Online (Sandbox Code Playgroud)

如您所见,tenant-id 位于每个实体中,并且是主键的一部分。我们使用@IdClass 来管理复合键。这是代码:

+--------------------+   +---------------+
|        Book        |   |    Author     |
+--------------------+   +---------------+
| id (pk)            |   | id (pk)       |
| tenant_id (pk)(fk) |   | tenant_id (pk |
| author_id (fk)     |   | name          |
| title              | …
Run Code Online (Sandbox Code Playgroud)

java hibernate composite-key multi-tenant

3
推荐指数
1
解决办法
1112
查看次数

标签 统计

composite-key ×1

hibernate ×1

java ×1

multi-tenant ×1