为什么Hibernate文档建议使用连接表来实现一对多关系?

sle*_*ske 9 database-design hibernate foreign-key-relationship

我认为在数据库中建模一对多关系的常用方法是通过外键关系(即一个客户有很多订单 - >订单表获得对客户表的FK引用).

但是,Hibernate建议使用连接表来建模这种关系:

在拥有的实体中使用外键列的单向一对多并不常见,也不是真正推荐的.我们强烈建议您使用连接表进行此类关联(如下一节中所述).这种关联是通过@JoinColumn描述的.

http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html#entity-mapping-association

为什么这"不是真的推荐".我认为使用FK是标准,并且连接表仅用于多对多关系?

我不喜欢创建连接表,因为数据模型看起来像关系是多对多的,而实际上它是一对多的.

这个建议在Hibernate文档中的原因是什么?

atr*_*ain 5

在Hibernate论坛上已经提出并回答了这个问题:https://forum.hibernate.org/viewtopic.php?t = 954178&highlight = unindirectional+null + foriegn + foreign + key.它似乎不是数据库设计的问题,而是更多的Hibernate功能.