2013-12-04 1 views
0

все.apache cayenne добавить вес на многие во многие отношения

Я использую apache cayenne в своем проекте. проблема не может быть решена.

У меня есть стол инженера и таблица навыков, инженер может обладать многими навыками, а умение может принадлежать многим инженерам, так что это отношения многих-многих. Я сделал таблицу инженерных навыков, затем связал эти три таблицы с «сглаживанием отношений» Кайенны. все в порядке до сих пор.

вот в чем проблема, я получил требование представлять «насколько хорошо инженер овладевает навыком». Это как добавить «вес» в отношениях, я думаю, что лучшим местом будет таблица инженерных навыков, но как?

В модераторе? Я ничего не нашел.

Я мало знаю о дизайне базы данных, поэтому, возможно, есть некоторые способы решить эту проблему, отрегулировав дизайн таблицы?

любые идеи приветствуются.

спасибо.

ответ

0

В этом случае вам необходимо отказаться от «сглаживания» и превратить отношения инженер-мастер в обычную сущность. Db * сторона отображения должна оставаться неизменной. На объекте Obj * вместо двух объектов со многими-ко-многим вы будете иметь 3 пары с одним-ко-многим:

Инженер -> ИнженерSkillRelation < - Умение.

+0

Спасибо, andrus. Я думаю, что твой путь будет работать. кажется, что некоторые усилия по кодированию неизбежны. Но будет ли это иметь какое-то влияние на производительность? –

+0

Никакого особого влияния на производительность из-за этого изменения. Конечно, применяются общие рекомендации - используйте предварительную выборку, когда это применимо, и т. Д. –