在关系型db中,"父表 "应该有一个对 "子表 "的引用,还是相反,这重要吗?[已关闭]

问题描述 投票:0回答:1

我需要为我们的软件实现一些配置架构。Configuration 桌子,而且有 ConfigurationProductAConfigurationProductB 扩展配置。

通常,我选择在子代上添加一个外键,引用了 Configuration但我的理由不是很充分。因为我用的是HibernateJpa,可以(轻松)做到。

@Entity
@Table(name="ConfigurationProductA")
@PrimaryKeyJoinColumn(name = "conf_id")
public class ConfiguratioProductA extends Configuration{/*...*/}

从父类引用子类有什么利弊?最好的做法是什么?

java mysql hibernate jpa relational-database
1个回答
3
投票

这取决于父母和子女之间的关系类型。

  • 假设一个子代只有一个父代,而一个父代可能有多个子代,那么这就是一对多的关系:你要把父代的id存储在子代中。

  • 如果一个孩子可能有多个父母,而一个父母可能有多个孩子,那么这是一个多对多的关系。在这种情况下,规范的方法是有一个额外的实体,称为结表(或桥表)来存储父子关系。

© www.soinside.com 2019 - 2024. All rights reserved.