![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| PovAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
Вот такая проблема. У меня есть класс, я с помощью мэпа отображаю его в таблицу БД, все классно. Но если мне нужно отобразить один и тот же класс на две таблицы. Может ли кто предложить вариант такого отображения?
|
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Посмотри главу в доке - 9.1.4. Mixing table per class hierarchy with table per subclass
Т.е. можно создать класс, который будет мапится на одну таблицу, а потом создать потомка, который приджойнится на вторую. Вот XML
|
|||
|
||||
| Alexis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
||||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
А можно пример записи - а то что-то не укладывается в голове - самому стало интересно. |
|||
|
||||
| PovAnd |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
Дейчтвительно, есть еще аттрибут entity-name и он по умолчанию такой же как имя класса, его нужно просто выстовлять оригинальным и тогда все Ок!
Спасибо за помощь. |
|||
|
||||
| Alexis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
Пока ответ набирал уже пример привели. Вот цитата из документации: http://www.hibernate.org/hib_docs/referenc...claration-class entity-name (optional, defaults to the class name): Hibernate3 allows a class to be mapped multiple times (to different tables, potentially), and allows entity mappings that are represented by Maps or XML at the Java level. In these cases, you should provide an explicit arbitrary name for the entity. See Section 4.4, “Dynamic models” and Chapter 18, XML Mapping for more information. |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
||||
|
||||
| Alexis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
Извиняюсь, похоже, что вы меня неверно поняли. Я написал о том, что пока я набирал пример использования, PovAnd уже успел привести пример, да еще и проверить его работоспособность. |
|||
|
||||
| AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
Да я понимаю - я просто не вижу вывода - ну есть у меня две таблицы Table1 и Table2 с полями ID, Name1 и ID, Name2 Ну и как мне описать класс TableClass в xml ? Поля соответсвенно ID, Name1, Name2
|
||||
|
|||||
| Alexis |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 14.8.2006 Где: Казань Репутация: 5 Всего: 5 |
Здесь ничего писать не надо. Нужно отдельно добавить еще один класс, только с другим entity-name, например:
Можно вообще entity-name не указывать, поскольку по-умолчанию это имя берется как имя класса. Только вот ссылку нашел интересную: http://www.nabble.com/Mapping-class-to-mul...)-t3425474.html оказывается, это с аннотациями не работает. Это сообщение отредактировал(а) Alexis - 19.9.2007, 17:21 |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 8 Всего: 118 |
А-а-а-а-а. Въехал. Спасибо большое.
|
|||
|
||||
![]()
|
| Правила форума "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. |