0

我有以下实体结构广告(土地(农业,建筑),空间(公寓,Ind_Space,办公室))。我不确定是否使外键成为父级的一部分并引用子级(广告还必须有一个触发器来确保一个且只有一个 coumn 不是 NULL)或相反(我听说这是您如何在 rdbms 中实现多态性)并在表建筑和农业中具有指向土地的 FK,以及指向广告的 FK。我计划使用 JPA,因此第一个实现似乎更容易实现,并且在性能方面更好,但内存成本更高。我对它如何与其他解决方案叠加以及您的想法很感兴趣;当您拥有这种类型的实体模型时,最好继续进行。感谢您的耐心等待。

4

1 回答 1

0

如果是 OneToMany,那么您需要在目标中添加外键(或使用连接表)。

如果是ManyToOne,则需要在源中添加外键。

如果它是 OneToOne,那么您可以使用其中任何一个。大多数 OO 人更喜欢将外键放在源中,一些数据库人更喜欢目标。就我个人而言,我认为将它放在源代码中是最好的(然后它可以获得缓存命中,并且更好地模拟 Java)。如果您的关系是双向的,那么无论如何您都将使用这两种解决方案。

于 2013-06-20T14:02:58.647 回答