0

みんな。

私は自分のプロジェクトで apache cayenne を使用しています。解決できない問題が発生しました。

エンジニア テーブルとスキル テーブルがあります。エンジニアは多くのスキルを持つことができ、スキルは多くのエンジニアに属することができるため、多対多の関係です。エンジニアとスキルの関係表を作成し、この 3 つの表をカイエンの「平坦化関係」で結びました。これまでのところすべて問題ありません。

ここで問題なのですが、「エンジニアがどれだけスキルを習得しているか」を表現するという要件がありました。関係に「重み」を加えるようなもので、エンジニア・スキル・関係表が最適な場所になると思いますが、どうすればよいでしょうか。

モデラーで?私は何も助けを見つけませんでした。

データベースの設計についてよく知らないので、テーブルの設計を調整することでこの問題を解決する方法がいくつかあるのではないでしょうか?

どんなアイデアでも大歓迎です。

ありがとう。

4

1 に答える 1

0

この場合、「フラット化」をやめて、エンジニアとスキルの関係を通常のエンティティにする必要があります。マッピングの Db* 側は変更しないでください。多対多の 2 つのエンティティではなく、マッピングの Obj* 側に、1 対多のペアを持つ 3 つのエンティティがあります。

エンジニア --> EngineerSkillRelation <-- スキル。

于 2013-12-04T10:24:29.220 に答える