大家。
我在项目中使用apache cayenne。得到一个问题无法解决。
我有工程师桌和技能表,工程师可以拥有很多技能,而且技能可以属于许多工程师,所以它是多对多的关系。我制作了一个工程师技能关系表,然后将这三个表与cayenne的“扁平关系”联系起来。到目前为止一切都很好。
这是问题所在,我要求代表“掌握技能的工程师的表现如何”。这就像在关系上添加一个“重量”,我认为最好的地方将是工程师技能关系表,但是如何?
在建模师?我没有找到任何帮助。
我对数据库设计了解不多,所以也许有一些方法可以通过调整表格设计来解决这个问题?
欢迎任何想法。
感谢。
答案 0 :(得分:0)
在这种情况下,您需要放弃“扁平化”并将工程师技能关系转变为常规实体。映射的Db *侧应保持不变。在映射的Obj *结尾而不是具有多对多的2个实体的情况下,您将拥有3对一对多的实体:
工程师 - > EngineerSkillRelation< - 技能。