![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Romique |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.3.2006 Репутация: нет Всего: нет |
Здраствуйте, при создании маппинга возникла такая проблема.
Есть таблица COMPETITION которой соответсвует класс Competition, есть таблица TASK которой соответсвует класс Task. Связь между ними many-to-many, для реализации есть таблица COMPETITION_TASK в которой хранятся соответствия соревнований и заданий (по их ID). У каждого соответствия есть ID (это primary key), то есть номер конкретного задания на конкретном соревновании. Также есть таблица RESULT, ей соответсвует класс Result. В этой таблице есть поле competition_task_id, это foreign key к таблице COMPETITION_TASK, то есть указывает какому заданию на каком соревновнии соответствует данный результат. В объекте Result содержаться объекты Competition и Task. Необходимо настроить маппинг так, чтобы при считывании записи из таблицы RESULT и инициализации объекта Result по значению competition_task_id из таблицы COMPETITION_TASK считывались бы соответствующие ID соревнования и задания, инициализировались по ним объекты и включались в объект результата. При сохранении нового результата нужно по ID соревнования и задания искать их соответствие в таблице COMPETITION_TASK и сохранять в новый ряд таблицы результатов в поле competition_task_id ID этого соответствия. Пробовал использовать join table="COMPETITION_TASK" в маппинге класса Result, но джойн требует в качестве ключа foreign key второй таблицы, указывающий на primary key первой, а у меня ситуация наоборот. Пробовал использовать SQL запрос: formula="(SELECT ct.comp_id FROM COMPETITION_TASK ct, RESULT r WHERE r.competition_task_id = ct.id)" для соревнования и так же для задания. Считывать объекты получалось, а новые объекты записывать в базу нет. Наверное здесь есть очень простое решение, но почему то я не могу его пока найти. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |