2

我有一个问题,希望有人能帮我解决。

我的系统有一个实体“产品”。在产品上应该可以设置“替换产品”(应该出售的产品而不是原始产品)。我们有两种替换方式。在产品上,我需要能够设置无、其中一种或两种类型的替换产品。但是,每种类型只能设置一个产品。除此之外,我希望能够查看一个产品并获取将该产品作为替代产品的其他产品的列表。

精简版:

  • 产品 -> 替换(两种类型,每种一种)
  • 产品 -> 它替换的产品列表(两种类型的替换)

到目前为止,我的解决方案是创建一个带有子类的抽象类 ReplacementProduct(每个替换类型一个),并带有鉴别器值。数据库中的replacementproduct表有以下字段:id、replacementproduct、replacementType

此外,我在 Product 实体上放置了两个字段(替换类型的子类的实例)。像这样,我已经获得了从产品到具有替换类型的另一种产品的单向链接。

我的问题是使此链接双向进行。正如我所说,我希望能够获得一份产品清单,其中有问题的产品作为他们的替代产品。

在不使用大量 java 逻辑的情况下这可能吗?

我愿意接受任何建议。

4

1 回答 1

0

听起来产品之间需要双向多对多。拥有方将设置映射键映射,使用类型作为键。对方不需要钥匙,会反映它可以替换的所有产品。这在这里描述 http://en.wikibooks.org/wiki/Java_Persistence/Relationships#Map_Key_Columns_.28JPA_2.0.29

于 2013-01-31T00:12:48.620 回答