![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
coolin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
пример hibernate-маппинга, когда класс Person содержит подкласс Name, столбцы которого расположены в той же таблице person
<class name="eg.Person" table="person"> <id name="Key" column="pid" type="string"> <generator class="uuid"/> </id> <property name="birthday" type="date"/> <component name="Name" class="eg.Name"> <!-- class attribute optional --> <property name="initial"/> <property name="first"/> <property name="last"/> </component> </class> Как это сделать в ejb3? Тоесть хочеться иметь также 2 класса. |
|||
|
||||
polosatij |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
делаешь два класса.. первый содежит:
второй:
усё ![]() |
||||
|
|||||
coolin |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
polosatij, таблица одна и она не
@Table(name="Name") а person на самом деле нужно днлать так
|
||||
|
|||||
coolin |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
появилась проблема с множественными вложениями сущностей:
так как эти сущности используються по-нескольку раз, нужна возможность переопределения инем колонок чтобы не было совпадений например:
такое решаеться так:
но что если вложенность большая (initial - тоже сложный объект), как например перегрузить типо такого name2_initial_gr1, можно вообще перегружать все поля внезависимости от их вложенности? пример:
|
||||||
|
|||||||
coolin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
может быть что-то похожее на это:
@AttributeOverride(name = "Name1.Initial.gr1", column = @Column(name = "Name1_Initial_gr1")) |
|||
|
||||
polosatij |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 22.2.2004 Где: Stuttgart<-> ;Karlsruhe, Germany Репутация: 3 Всего: 8 |
я предлогал тебе сделать отдельную таблицу для твоих нужд и 2 класса, а не один класс (!) ![]() Это сообщение отредактировал(а) polosatij - 17.4.2007, 16:25 |
|||
|
||||
coolin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
таккой код тупо дает ошибку повторения колонок: ![]() org.hibernate.MappingException: Repeated column in mapping for entity: Person column: initial (should be mapped with insert="false" update="false") я так полагаю это реальный недочет, зачем нужны Embeddable, если их нельзя в одном классе несколько раз замапить... Может версию стоит обновить..? |
|||
|
||||
coolin |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
помогло переопределение DefaultComponentSafeNamingStrategy - кода меньше
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |