liquibase и hibernate аннотации

этот вопрос основан на двух темах, которые были опубликованы ранее.

Гибернация с использованием JPA (аннотированных объектов) и liquibase

Liquibase diffChangeLog против определения сопоставления Hibernate

мое замешательство в том, что если я использую аннотации гибернации, мне все еще нужно писать наборы изменений в журнале изменений.

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


person Ikthiander    schedule 26.01.2011    source источник
comment
Не могли бы вы привести пример, как использовать Liquibase с аннотациями JPA?   -  person    schedule 31.01.2011


Ответы (1)


Поддержка JPA/аннотаций в liquibase hibernate diff не подвергалась чрезмерному тестированию и не охватывает все случаи и аннотации, поэтому, учитывая текущее состояние, на нее, вероятно, нельзя полагаться как на часть нормального рабочего процесса.

При этом, даже если / когда он будет полностью протестирован, может иметь смысл написать наборы изменений вручную. Поддержка спящего режима делает разницу между вашей текущей базой данных и базой данных, ожидаемой спящим режимом, и выводит наборы изменений для перемещения из текущей базы данных в базу данных спящего режима. Хотя это часто работает, у любого процесса, основанного на разнице в базе данных, возникают проблемы (см. http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html). Лично, поскольку лучше проверять и, возможно, изменять наборы изменений, которые добавляются спящим diff, перед их выполнением, я чувствую, что так же легко добавить их самостоятельно. Таким образом, я могу воспользоваться преимуществами изменений более высокого уровня (например, IntroductionLookupTable), которые делают журнал изменений более читабельным.

Определенно есть среды и рабочие процессы, в которых генерация наборов изменений удобна, поэтому она будет поддерживаться, но ее пока нет, и вы, безусловно, можете использовать liquibase с гибернацией без нее.

person Nathan Voxland    schedule 26.01.2011
comment
привет, Натан, если бы вы могли привести мне пример того, как это можно сделать с помощью maven (с аннотациями гибернации или без них), это было бы действительно здорово, поскольку я не нашел ни одного практического примера. также не могли бы вы добавить несколько примеров почтовых индексов, чтобы мы могли четко понять, как работает Liquibase. даже некоторых очень простых глупых примеров будет достаточно. - person Ikthiander; 27.01.2011