Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hibernate + связи 
:(
    Опции темы
omka
Дата 28.3.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.11.2007

Репутация: нет
Всего: нет



подскажите, можно ли в Хибере сделать так что бы 2 таблицы связывались с 3-й по одному столбцу. Другими словами хочу что бы одна таблица имела 1 столбец в котором хранилась бы информация о двух других таблицах.
проблема вытекла из того что что есть два класса, которые инкапсулируют в себе 2 разных типа вопроса и есть ещё один класс который инкапсулирует в себе тип ответа. их нужно между собой связать через одно поле question в классе Answer.
PM MAIL   Вверх
fixxer
Дата 28.3.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 4
Всего: 27



непонятно. на пальцах (табличках) покажи.


--------------------
user posted image
PM MAIL ICQ   Вверх
omka
Дата 28.3.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.11.2007

Репутация: нет
Всего: нет



лучше на классах:
есть абстрактный класс Question, у него 6 подклассов, 2 из которых SingleChoiceQuestion и MultiSelectQuestion. У этих подклассов есть поле Set<SelectAnswer> possibleAnswers.
есть абстрактный класс AnswerVariant, у него 4 подклассa, 1 из которых SelectAnswer. У класса AnswerVariant есть поле Question question.
Как мне сделать связь в маппинге?

PM MAIL   Вверх
iluvatar
Дата 28.3.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: 4
Всего: 4



А какая структура таблиц?
Или ее еще нет?
PM MAIL ICQ   Вверх
omka
Дата 28.3.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.11.2007

Репутация: нет
Всего: нет



Совсем забыл.
Дочерние классы мапились как joined-subclass.
PM MAIL   Вверх
iluvatar
Дата 31.3.2008, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 266
Регистрация: 17.9.2007

Репутация: 4
Всего: 4



  Нарисуй структуру таблиц - плясать-то надо от них.
  Какие есть таблицы, с какими полями? Или структура их четко еще не поределена и надо их создать?
PM MAIL ICQ   Вверх
omka
Дата 31.3.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.11.2007

Репутация: нет
Всего: нет



изменил маппинги (joined-subklass на subclass),  но от этого проблемма не решилась.
Таблицы:
user posted image

Получается ссылка на одно поле QUESTION_ID.

Вот куски маппингов:

Question.hbm.xml
Код

        <subclass name="SingleChoiceQuestion"
            discriminator-value="SCQ">
            <set name="possibleAnswers">
                <key column="QUESTION_ID" />
                <one-to-many
                    class="AnswerVariant" />
            </set>
        </subclass>

        <subclass name="MultiSelectQuestion"
            discriminator-value="MSQ">
            <set name="possibleAnswers">
                <key column="QUESTION_ID" />
                <one-to-many
                    class="AnswerVariant" />
            </set>
        </subclass>




Answer.hbm.xml
Код


<many-to-one name="question" cascade="save-update"
            class="Question" column="QUESTION_ID" />

        <subclass name="SelectAnswer"
            discriminator-value="SA">
            <property name="right" type="string" length="1"
                column="IS_RIGHT" />
        </subclass>

        <subclass name="StringAnswer"
            discriminator-value="STRA">
            <property name="correctString" type="string"
                column="STRING_ANSWER" />
        </subclass>



Это сообщение отредактировал(а) omka - 31.3.2008, 14:43
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.