2013-04-16 2 views
1

Как сопоставить отношения между тремя классами @ManyToMany однонаправленными для уникальной таблицы?Как сопоставить отношения между классами (@ManyToMany) для таблицы

Отношение таково:

  • проекта есть много задачи
  • Многих задачи имеет много specifcs Activitys (на стандарт) - для каждой задачи есть много specifcs activitys
  • задачи и Activitys являются стандартными в базы данных.

Итак, когда я создам проект, я выберу somes Tasks и somes Activity Activity.

Я хотел бы создать таблицу (project_task_activity_map) вроде этого:

project_id  task_id activity_id 
    1   2   3 
    1   2   4 
    2   1   2 
    2   1   1 
    2   2   3 
    2   3   5 

Как я могу сопоставить проект класса?

Ссылка ссылка:

See Orders Table

+0

Ни ваша таблица, ни таблица заказов, с которой вы связаны, нормализованы. В этом случае создать правильное сопоставление непросто. Вы хотите, чтобы? –

ответ

1

Я думаю, что иерархия, как

проекта | Задавание | Деятельность

Прямой связи между Проектом & Деятельность.

Лучше создать много для многих таблиц для задачи & Деятельность, сохранить только проект. Всего 4 таблицы - Проект - Задача - Активность - TaskActivityMapping

Четвертую таблица будет создана Hibernate отображения задачи и деятельности через Embadable.

+0

Хорошее решение, но знаете ли вы, есть ли аннотация для поддержки только трех классов? Например: Project, Task, Activity и Project_Task_Activity_map (этот файл создается с одной аннотацией), таблицы – Andriel

+0

, помещая все в одну таблицу, которая будет выполнять редуальность данных. если его штраф с вами, то OK –

+0

Спасибо вашему тентю. – Andriel

Смежные вопросы