我有一个问题,我希望有人可以帮我解决。
我的系统有一个实体“产品”。在产品上应该可以设置“替代产品”(应该销售的产品而不是原始产品)。我们有两种类型的替代品。在产品上,我需要能够设置无,其中一种或两种类型的替换产品。但是,每种类型只应设置一种产品。除此之外,我希望能够查看产品并获得将此产品作为替代产品的其他产品列表。
简短版本:
到目前为止,我的解决方案是创建一个带有子类的抽象类ReplacementProduct(每个替换类型一个),带有discriminatorvalues。 数据库中的replacementproduct表具有以下字段: id,replacementproduct,replacementType
此外,我在Product实体上放置了两个字段(替换类型的子类的实例)。像这样,我已经获得了从产品到另一种替代产品的单向链接。
我的问题是让这个链接双向进行。正如我所说,我希望能够获得有关产品的产品清单作为替代产品。
如果不使用大量的java逻辑,这可能吗?
我愿意接受任何建议。
答案 0 :(得分:0)
听起来像双向产品之间需要ManyToMany。拥有方将使用类型作为键来设置mapkey映射。另一方不需要密钥,并且会反映它可以替换的所有产品。 这在这里描述 http://en.wikibooks.org/wiki/Java_Persistence/Relationships#Map_Key_Columns_.28JPA_2.0.29