避免与一个行表的多表关系

时间:2014-12-19 08:38:16

标签: java spring hibernate

我有一个关于hibernate约束的问题,关于我之前从未遇到过的一个问题。 想象一下,我有一个表(快照),我可以在其中添加一些快照行,每个快照行必须与另一个表的一行相关。但是这种关系不仅与一个表有关,多个表可以与此快照表连接。但是我想防止一旦一行快照已经链接到另一个行表,我们就说:

A.row1->Snapshot.row1

另一张桌子不可能为他的关系选择同一行

B.row1->Snapshot.row1. 

因为如果不这样的话,想象一下当我尝试在A上进行级联删除时的问题。

任何想法如何使用hibernate唯一约束

1 个答案:

答案 0 :(得分:-1)

快照中的

使链接到另一个表的字段(我认为它被称为row1)是唯一的。

@Column(unique = true)

编辑: 您无法控制使用主键的其他表的数量。您可以做的是引入一个新表来管理您的链接。在那里你必须有一个名为link_from的列,另一个名为link_to,并使link_to唯一。