如何为新表创建Liquibase Change Log文件?

时间:2011-09-08 06:19:17

标签: hibernate maven annotations liquibase changelog

我正在使用Hibernate 2 + Spring 3 + Liquibase 1.9。 我正常使用Hibernate注释创建了我的实体类 现在我想自动生成Liquibase更改日志,该日志应该包含DB CREATE语句。  我不想手动创建更改日志XML文件,因为它感觉很乏味且容易出错,尤其是第一次。

让我感到困惑的是,maven上没有maven目标来查看mt实体类并以与hbm2ddl类似的方式生成Liquibase更改日志?

我用Google搜索了无数的页面,它们似乎指向了Liquibase命令行和一些ANT脚本,但它应该可以在maven上使用!

所以我想我的问题是:如何调用一个进程来为用JPA注释编写的新实体类生成Liquibase更改日志?

由于

2 个答案:

答案 0 :(得分:1)

此时,liquibase / hibernate集成不支持用于hibernate比较的JPA注释。

当hibernate集成支持JPA时,您仍然希望确保生成的changeSet实际上符合您的期望,因为任何数据库差异工具都不了解更改的意图(请参阅http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html)。出于这个原因,我倾向于从头开始手工编写changeSet。

答案 1 :(得分:1)

我遇到了同样的问题并通过首先使用hibernate hbm2ddl(设置hibernate.hbm2ddl.auto来创建或更新)创建数据库来解决它,然后针对生成的数据库使用liquibase generateChangeLog命令。