java - Hibernate 会毁掉我的 Java 架构吗?

标签 java hibernate database-design architecture entity-relationship

我读过这篇很棒的文章article作者:Mkyong 关于Hibernate 中的一对多关系,我有一个很大的疑问。 Mkyong 在他的示例中使用了两个类:Stock.java 和 StockDailyRecord.java

我认为类图必须是:“一只股票有许多stockdialyrecords”,因此数据库实体图必须是: “库存一对多库存日记记录”

但是 Mkyong 走得更远,这就是我的怀疑之处。他在 StockDialyRecords 类上设置了一个名为 Stock stock 的属性。也就是说,他创建了一种双向关系。这是对的?我的理解是,对于ORM来说,我们可以双向行走。但从图表类的角度来看,就像它说的:“一只股票有许多StockDialyRecords,而一个StockDialyRecords有一只股票”

我是从建筑概念的角度说的。就像它是一个循环或悖论。

最佳答案

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

  • 库存有许多记录(一对多)

  • 记录引用库存(多对一)

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

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

关于java - Hibernate 会毁掉我的 Java 架构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13518578/

相关文章:

java - 如何在 Java Character 类中表示空字符

java - Java Swing 中的垂直堆叠布局?

java - spring jpa 可分页排序 PropertyReferenceException

java - 将 Hibernate 应用程序移动到 JBoss - 超出已声明序号参数数量的位置

database-design - Facebook墙的数据库结构

java - 有没有办法使用 Apache POI 修改 Microsoft Word 页脚?

java - 返回字符串格式错误

java - 了解hibernate中依赖对象集合的限制

database - 强制关系 m :n

database - 这是对数据库规范化的一次很好的尝试吗?