Поддержка 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