【问题标题】:How to point to other table's ID with hibernate?如何用休眠指向其他表的ID?
【发布时间】:2010-03-12 23:26:53
【问题描述】:

问题:假设我有两个表 ClientProduct,其中 Client 有它的主键和一个名为 products 的列(指向产品表中的pk)...好吧,如果我需要产品只指向一行,那很好,但如果我需要它指向...产品表中的1000行,产品列将不得不足够大……但我无法预测这种情况。

那么,我该如何设计我的表格,以及如何使用 hibernate 来以一种优化且可能“简单”的方式实现“指向”。

注意:为了简单起见,我排除了此处介绍的“设计”的一些列。

注意 2:每个客户的行是唯一的,只有一个客户与产品的行相关,即产品将属于一个客户,而不属于其他任何客户。

【问题讨论】:

  • 这取决于关联的多样性。一个产品有多少客户?

标签: java database hibernate


【解决方案1】:

这是一个多对一的关系。您可以从 Product 表中引用客户端,而不是相反。

然后,您可以在休眠映射文件中设置一对多关系。这是一个很好的例子:http://www.vaannila.com/hibernate/hibernate-example/hibernate-mapping-one-to-many-1.html

【讨论】:

  • 感谢您的提示;我不会使用多对多(因为它看起来不适合我的问题),而是一对多,可以在这里找到:vaannila.com/hibernate/hibernate-example/…
  • 抱歉,我假设一个产品可以与多个客户相关联。如果不是,那么你是对的,你需要使用一对多的关系。在这种情况下,您可以让 Product 表指向 Client 表。您不需要映射表。
  • @Wilhelm 为什么你当时接受这个答案的当前状态(无意冒犯发帖者)?
  • @Pascal 我同意。他可能已经能够根据我发布的内容找到他的答案,但我的答案在技术上不是正确的解决方案。
  • 好的,我这样做只是为了表示感谢。无论如何,谢谢你的提示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多