|
|
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
Привет всем, Если в проекте имеются классы 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 12:34:16 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
А зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 12:52:55 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Для того, чтобы liquibase смог сгенерить на основании сего hbm.xml меппера changelog. Потому как пока liquibase не поддерживает напрямую генерацию на основании таких классов. Мы хотим, шоб затем liquibase выполнил актуализацию БД на основании сего changelog. На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:15:47 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
А не проще auto-update в хибернейте поставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:20:55 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
kamenjahrДля того, чтобы liquibase смог сгенерить на основании сего hbm.xml меппера changelog. Потому как пока liquibase не поддерживает напрямую генерацию на основании таких классов. Мы хотим, шоб затем liquibase выполнил актуализацию БД на основании сего changelog. На данный момент есть возможность генерации hbm.xml , но не поддержваются EJB3 Это единоразовая акция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:27:58 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
Создайте базу через 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 по базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:29:41 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
ivanraА не проще auto-update в хибернейте поставить? Хех, такой вариант пока отклонен - ибо желание есть процесс актуализации при помощи ликвидбейс при каждой итерации выполнять. Т.е. шоб каждый программер имел возможность у себя локально изменения в БД запилить. Фишка update от хибернейта ваще забанена ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:35:37 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
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 по базе. я в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:38:10 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
kamenjahrя в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении Ну, что за люди... Почему половину моих вопросов всегда игнорируют? Если вы хотите change-log генерить каждый раз по всем изменениям в маппинге, то вынужден вас разочаровать. Это ничем не лучше hibernate.hbm2ddl.auto=update Если вам нужно изначальное состояние сгенерить. То генерите его по базе. Остальной change log пишется руками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:41:35 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
Для обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум? Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:53:35 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
Blazkowiczkamenjahrя в курсе про фишку эту, но она забанена вообще - раньше только на продакшн БД не хотели юзать, а хотели ликвидбайс юзать. Теперь желание есть гонять ликвидбайс при каждой итерации при измении Ну, что за люди... Почему половину моих вопросов всегда игнорируют? Если вы хотите change-log генерить каждый раз по всем изменениям в маппинге, то вынужден вас разочаровать. Это ничем не лучше hibernate.hbm2ddl.auto=update Если вам нужно изначальное состояние сгенерить. То генерите его по базе. Остальной change log пишется руками. Еще раз - 1. есть желание не использовать hibernate.hbm2ddl.auto=update вообще . 2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations 3. Желания лезть ручками в changelog нет и подавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:57:14 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
ivanraДля обновления схемы вместо EJB -> database хотите использовать EJB->changelog->liquibase->database. В чем смысл? Необходимо внести дополнительный шум? Конечно, предупреждение об опасности hibernate.hbm2ddl.auto имеется, но по мне, так оно имеет место быть при неаккуратно написанных триггерах / сохраненных процедурах. Так в этом случае тот же дамаг будет нанесен и с помощью liquibase. Смысл в том, что есть предупреждение со стороны developer-oв хайбернайтa. Кроме того, hibernate update вооще нихера не умеет почти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 13:59:46 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
kamenjahr1. есть желание не использовать hibernate.hbm2ddl.auto=update вообще . А я только hibernate.hbm2ddl.auto=create предлагаю. kamenjahr2. Есть желание использовать liquibase на каждой итерации при изменении java code with EJB3 annotations 3. Желания лезть ручками в changelog нет и подавно. Это ничем не отличается от hibernate.hbm2ddl.auto=update. Удачи с такими хотелками! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 14:02:15 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
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 он сразу будет замечет на рабочем месте программера, а не где то на билдсервере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 14:08:59 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
kamenjahr В случае с liquibase база актуализируется liquibase . Т.е если баг был в changelog он сразу будет замечет на рабочем месте программера, а не где то на билдсервере ОК. Но от ручной работы с changelog это никак не избавит. А где вы взяли инфу про hbm.xml? Вот эта интеграция http://www.liquibase.org/documentation/hibernate.html вроде делает diff по метаданным хибера. А хибер может создать и по JPA аннотациями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 14:17:24 |
|
||
|
Hibernate: Генерирование hbm.xml на основании классов c EJB3 аннотациями
|
|||
|---|---|---|---|
|
#18+
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.х... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 22:39:47 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38250232&tid=2129405]: |
0ms |
get settings: |
13ms |
get forum list: |
24ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
46ms |
get topic data: |
20ms |
get forum data: |
4ms |
get page messages: |
95ms |
get tp. blocked users: |
3ms |
| others: | 342ms |
| total: | 559ms |

| 0 / 0 |
