阿帕奇卡宴增加了很多关系的重量

时间:2013-12-04 09:47:19

标签: java database database-design apache-cayenne

大家。

我在项目中使用apache cayenne。得到一个问题无法解决。

我有工程师桌和技能表,工程师可以拥有很多技能,而且技能可以属于许多工程师,所以它是多对多的关系。我制作了一个工程师技能关系表,然后将这三个表与cayenne的“扁平关系”联系起来。到目前为止一切都很好。

这是问题所在,我要求代表“掌握技能的工程师的表现如何”。这就像在关系上添加一个“重量”,我认为最好的地方将是工程师技能关系表,但是如何?

在建模师?我没有找到任何帮助。

我对数据库设计了解不多,所以也许有一些方法可以通过调整表格设计来解决这个问题?

欢迎任何想法。

感谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您需要放弃“扁平化”并将工程师技能关系转变为常规实体。映射的Db *侧应保持不变。在映射的Obj *结尾而不是具有多对多的2个实体的情况下,您将拥有3对一对多的实体:

工程师 - > EngineerSkillRelation< - 技能。