powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
16 сообщений из 16, страница 1 из 1
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250095
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем,
Если в проекте имеются классы c EJB3 аннотациями и надо на основании данных классов сгенерировать hbm.xml мепперы , каким тузлом это выпилить? Вроде не нашел пока нечто вроде java2hbm ??

Смотрел тут http://www.hibernate.org/subprojects/tools.html у тут http://docs.jboss.org/tools/3.3.0.Final/en/hibernatetools/html/ant.html
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250143
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем?
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250190
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Для того, чтобы liquibase смог сгенерить на основании сего hbm.xml меппера changelog.

Потому как пока liquibase не поддерживает напрямую генерацию на основании таких классов. Мы хотим, шоб затем liquibase выполнил актуализацию БД на основании сего changelog.

На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250204
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не проще auto-update в хибернейте поставить?
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250216
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrДля того, чтобы liquibase смог сгенерить на основании сего hbm.xml меппера changelog.
Потому как пока liquibase не поддерживает напрямую генерацию на основании таких классов. Мы хотим, шоб затем liquibase выполнил актуализацию БД на основании сего changelog.
На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3
Это единоразовая акция?
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250221
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте базу через
RTFM hibernate.hbm2ddl.auto Automatically validates or exports schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly.

e.g. validate | update | create | create-drop

И потом сгенерите changelog по базе.
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250232
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanraА не проще auto-update в хибернейте поставить?

Хех, такой вариант пока отклонен - ибо желание есть процесс актуализации при помощи ликвидбейс при каждой итерации выполнять.

Т.е. шоб каждый программер имел возможность у себя локально изменения в БД запилить.

Фишка update от хибернейта ваще забанена
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250235
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczСоздайте базу через
RTFM hibernate.hbm2ddl.auto Automatically validates or exports schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly.

e.g. validate | update | create | create-drop

И потом сгенерите changelog по базе.

я в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250246
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrя в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении
Ну, что за люди... Почему половину моих вопросов всегда игнорируют?
Если вы хотите change-log генерить каждый раз по всем изменениям в маппинге, то вынужден вас разочаровать. Это ничем не лучше
hibernate.hbm2ddl.auto=update
Если вам нужно изначальное состояние сгенерить. То генерите его по базе. Остальной change log пишется руками.
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250272
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум?
Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase.
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250283
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczkamenjahrя в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении
Ну, что за люди... Почему половину моих вопросов всегда игнорируют?
Если вы хотите change-log генерить каждый раз по всем изменениям в маппинге, то вынужден вас разочаровать. Это ничем не лучше
hibernate.hbm2ddl.auto=update
Если вам нужно изначальное состояние сгенерить. То генерите его по базе. Остальной change log пишется руками.

Еще раз -
1. есть желание не использовать hibernate.hbm2ddl.auto=update вообще .
2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations
3. Желания лезть ручками в changelog нет и подавно.
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250287
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ivanraДля обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум?
Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase.

Смысл в том, что есть предупреждение со стороны developer-oв хайбернайтa. Кроме того, hibernate update вооще нихера не умеет почти
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250292
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahr1. есть желание не использовать hibernate.hbm2ddl.auto=update вообще .

А я только hibernate.hbm2ddl.auto=create предлагаю.

kamenjahr2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations
3. Желания лезть ручками в changelog нет и подавно.
Это ничем не отличается от hibernate.hbm2ddl.auto=update.
Удачи с такими хотелками!
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250304
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczkamenjahr1. есть желание не использовать hibernate.hbm2ddl.auto=update вообще .

А я только hibernate.hbm2ddl.auto=create предлагаю.

kamenjahr2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations
3. Желания лезть ручками в changelog нет и подавно.
Это ничем не отличается от hibernate.hbm2ddl.auto=update.
Удачи с такими хотелками!

Отличие конечно же есть: В случае с hibernate.hbm2ddl.auto=update база актуализируется hibernate

В случае с liquibase база актуализируется liquibase . Т.е если баг был в changelog он сразу будет замечет на рабочем месте программера, а не где то на билдсервере
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38250320
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahr В случае с liquibase база актуализируется liquibase . Т.е если баг был в changelog он сразу будет замечет на рабочем месте программера, а не где то на билдсервере
ОК. Но от ручной работы с changelog это никак не избавит.
А где вы взяли инфу про hbm.xml?
Вот эта интеграция
http://www.liquibase.org/documentation/hibernate.html
вроде делает diff по метаданным хибера. А хибер может создать и по JPA аннотациями.
...
Рейтинг: 0 / 0
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
    #38251021
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczkamenjahr В случае с liquibase база актуализируется liquibase . Т.е если баг был в changelog он сразу будет замечет на рабочем месте программера, а не где то на билдсервере
ОК. Но от ручной работы с changelog это никак не избавит.
А где вы взяли инфу про hbm.xml?
Вот эта интеграция
http://www.liquibase.org/documentation/hibernate.html
вроде делает diff по метаданным хибера. А хибер может создать и по JPA аннотациями.

Хотел найти ссылку, в которой про hbm.xml читал, а нашел вот что
http://stackoverflow.com/questions/776787/hibernate-using-jpa-annotated-entities-and-liquibase
liquibase is a perfect alternative to hibernate's hbm2ddl_auto property if you are using xml-mapping. But Im using JPA annotation (hibernate annotations). Is it possible to use liquibase then? edited May 18 '09 at 6:06

Yes, LiquiBase uses hibernate's metadata classes, which are the same whether you use xml mappings or annotations. You do need a hibernate config file to point liquibase to, but your mappings can be xml or jpa annotations .
share|edit

answered May 18 '09 at 5:55
Nathan Voxland

Т.е не только xml mappings , но и jpa annotations по идее в далеком 2009 году поддерживались

Правда, вот тут http://stackoverflow.com/questions/4804143/liquibase-and-hibernate-annotations автор ликвибейса критикует diff-подход ((see http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html).)(а поддержка хибера именно через дб.дифф замучена: автор напридумывал хибернайтдатабайс, хибернейд драивер и тд и тп.

Да, кстати, по ссылке http://www.liquibase.org/documentation/hibernate.html устаревшая инфо, Во-первых между 1.6 и 1.9 ликвибейса синтаксис поменялся у ант таск. Во-вторых с 2.х выпилил поддержку хибернейта аффтар в отдельный jar.


Но я с другим траблом столкнулся: я тестю хибернейт версии 4.х, а этот самый отдельный jar не поддерживает пока хибернейт версии 4.х...
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]