我正在使用Hibernate 2 + Spring 3 + Liquibase 1.9。 我正常使用Hibernate注释创建了我的实体类 现在我想自动生成Liquibase更改日志,该日志应该包含DB CREATE语句。 我不想手动创建更改日志XML文件,因为它感觉很乏味且容易出错,尤其是第一次。
让我感到困惑的是,maven上没有maven目标来查看mt实体类并以与hbm2ddl类似的方式生成Liquibase更改日志?
我用Google搜索了无数的页面,它们似乎指向了Liquibase命令行和一些ANT脚本,但它应该可以在maven上使用!
所以我想我的问题是:如何调用一个进程来为用JPA注释编写的新实体类生成Liquibase更改日志?
由于
答案 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命令。