【发布时间】:2011-07-12 15:12:02
【问题描述】:
我认为在数据库中建模一对多关系的常用方法是通过外键关系(即一个客户有很多订单 -> 订单表获得对客户表的 FK 引用)。
但是,Hibernate 建议使用连接表来为此类关系建模:
在所拥有的中使用外键列的单向一对多 实体并不常见,也不是很推荐。我们强烈 建议您对这种关联使用连接表(如 在下一节中解释)。这种关联被描述 通过@JoinColumn。
为什么“不推荐”。我认为使用 FK 是标准,而连接表仅用于多对多关系?
我不喜欢创建连接表,因为数据模型看起来像是多对多的关系,而实际上它是一对多的。
Hibernate 文档中此建议的原因是什么?
【问题讨论】:
-
注意:这与问题stackoverflow.com/questions/2095998/…有关。但是,这询问了如何避免连接表;我在问为什么建议使用一个。
标签: hibernate database-design foreign-key-relationship