Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями / 16 сообщений из 16, страница 1 из 1
07.05.2013, 12:34:16
    #38250095
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
Привет всем,
Если в проекте имеются классы 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
07.05.2013, 12:52:55
    #38250143
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
А зачем?
...
Рейтинг: 0 / 0
07.05.2013, 13:15:47
    #38250190
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
Blazkowicz,

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

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

На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3
...
Рейтинг: 0 / 0
07.05.2013, 13:20:55
    #38250204
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
А не проще auto-update в хибернейте поставить?
...
Рейтинг: 0 / 0
07.05.2013, 13:27:58
    #38250216
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
kamenjahrДля того, чтобы liquibase смог сгенерить на основании сего hbm.xml меппера changelog.
Потому как пока liquibase не поддерживает напрямую генерацию на основании таких классов. Мы хотим, шоб затем liquibase выполнил актуализацию БД на основании сего changelog.
На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3
Это единоразовая акция?
...
Рейтинг: 0 / 0
07.05.2013, 13:29:41
    #38250221
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
Создайте базу через
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
07.05.2013, 13:35:37
    #38250232
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
ivanraА не проще auto-update в хибернейте поставить?

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

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

Фишка update от хибернейта ваще забанена
...
Рейтинг: 0 / 0
07.05.2013, 13:38:10
    #38250235
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
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
07.05.2013, 13:41:35
    #38250246
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
kamenjahrя в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении
Ну, что за люди... Почему половину моих вопросов всегда игнорируют?
Если вы хотите change-log генерить каждый раз по всем изменениям в маппинге, то вынужден вас разочаровать. Это ничем не лучше
hibernate.hbm2ddl.auto=update
Если вам нужно изначальное состояние сгенерить. То генерите его по базе. Остальной change log пишется руками.
...
Рейтинг: 0 / 0
07.05.2013, 13:53:35
    #38250272
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
Для обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум?
Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase.
...
Рейтинг: 0 / 0
07.05.2013, 13:57:14
    #38250283
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
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
07.05.2013, 13:59:46
    #38250287
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
ivanraДля обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум?
Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase.

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

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

kamenjahr2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations
3. Желания лезть ручками в changelog нет и подавно.
Это ничем не отличается от hibernate.hbm2ddl.auto=update.
Удачи с такими хотелками!
...
Рейтинг: 0 / 0
07.05.2013, 14:08:59
    #38250304
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
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
07.05.2013, 14:17:24
    #38250320
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
kamenjahr В случае с liquibase база актуализируется liquibase . Т.е если баг был в changelog он сразу будет замечет на рабочем месте программера, а не где то на билдсервере
ОК. Но от ручной работы с changelog это никак не избавит.
А где вы взяли инфу про hbm.xml?
Вот эта интеграция
http://www.liquibase.org/documentation/hibernate.html
вроде делает diff по метаданным хибера. А хибер может создать и по JPA аннотациями.
...
Рейтинг: 0 / 0
07.05.2013, 22:39:47
    #38251021
kamenjahr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
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
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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