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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическое создание классов в Hibernate 
:(
    Опции темы
nogoody
Дата 4.2.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Задача в следующем... Мой проект построен на Хибернете 3...
Вот простой пример: есть класс А, от него наследуются классы B и С, все приложение прекрасно работает, и вот нам из программы захотелось создать класс D и динамически подключить его... т.е. мы должны создать xml и замапить ее... а еще создать класс и подключить ее к проекту... вот как это сделать динамически, чтобы класс сгенерировался под наш xml? и вообще возможно ли это? я новичок в этом поэтому хотелось бы увидеть пример... помогите...
PM MAIL   Вверх
tux
Дата 4.2.2008, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

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



Вполне вероятно что возможно, но вряд ли посильно для новичка. Посмотри в сторону cglib и API Hibernate.
PM MAIL Skype GTalk Jabber YIM   Вверх
Tamerlann
Дата 5.2.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Если бы у нас было более подробное описание проблемы (в частности, зачем именно динамически создавать класс D?) мы могли бы подсказать более простой выходи из ситуации. Я думаю, что необходимость создавать и подключать класс динамически скорее всего на самом деле отсутствует.
--------------------
http://timursdev.blogspot.com/ 
PM MAIL WWW Skype   Вверх
Greg
Дата 5.2.2008, 00:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 16.9.2006
Где: Беларусь, г.Минск

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



По идее, если класс генерируется во время выполнения, то для того, что бы добавить мэпинг придется менять Configuration и билдить заново SessionFactory - а это, насколько мне подсказывает интуиция, может обойтись дорого. Теперь по сути: в пакете Hibernate Tools есть утилита hbm2java, которая умеет на основе мэпингов генерировать исходный код - и это уже что-то. Теперь остается только скомпилировать этот класс во время выполнения. Соотвественно для работы с состоянием объекта, нужно будет использовать Java Reflection API либо напрямую, либо используя утилиты, которые его реализуют и обладают более дружественным API. Вариант короче придумать не получилось ;)
--------------------
Страх перед возможностью ошибки не должен отвращать нас от поисков истины.
PM MAIL   Вверх
nogoody
Дата 5.2.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо всем кто помог... задача конечно не легкая... хотя и интересная... буду разбираться дальше по докам
PM MAIL   Вверх
dementiev
Дата 29.4.2012, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Всем привет. Не буду подымать новый тред, т.к. проблема схожая просто дам линк на мой вопрос. Дайте, пожалуйста, пару мыслей, как я могу решить данную проблему: http://www.geomajas.org/node/605 . 
Также обсуждение hibernate части вопроса на stackoverflow: http://stackoverflow.com/questions/1037153...ions-in-runtime
Заранее спасибо за советы.
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.0429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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