0

我已经阅读了 Mkyong 撰写的这篇关于Hibernate 中一对多关系的精彩文章,但我有很大的疑问。Mkyong 在他的示例中使用了两个类:Stock.java and StockDailyRecord.java

我认为类图必须是:“A stock has many stockdialyrecords”,因此作为数据库实体图必须是:“stock one-to-many stockdialyrecords”

但是Mkyong走得更远,这就是我的怀疑所在。他设置了一个名为Stock stock on the StockDialyRecords class. 也就是说,他创建了双向关系。这是对的?我理解这种方式对于 ORM,我们可以双向行走。但从图表类的角度来看,就像它说的:“一个股票有很多 StockDialyRecords,一个 StockDialyRecords 有一个股票”

我是从建筑概念的角度说的。就像它是一个循环或自相矛盾的。

4

2 回答 2

2

它是双向的,因为它代表两种不同的关系:

  • stock有很多记录(一对多)

  • 记录参考库存(多对多)

从商业角度来看,这两种关系都有意义。后者似乎更重要——每条记录都必须引用它所描述的股票。

从技术角度来看,双向关系有一些优势,例如它允许您从双方构建查询。

于 2012-11-22T18:54:22.813 回答
2

是的,你绝对应该有一个多对一,作为一对多链接回来,因为 Hibernate 将为你管理关系并避免任何问题。如果您不想,则不需要,但这意味着您可能需要一些额外的编码。

于 2012-11-22T18:56:38.803 回答