2011-09-08 73 views
0

我使用Hibernate 2 + Spring 3 + Liquibase 1.9。 我已經創建了我的實體類,使用Hibernate註釋正常 現在我想自動生成Liquibase更改日誌,其中應包含DB CREATE語句。 我不想手動創建更改日誌XML文件,因爲它感覺單調乏味且容易出錯,尤其是第一次。如何爲新表創建Liquibase更改日誌文件?

讓我感到困惑的是,maven上沒有maven目標來查看mt實體類並以類似於hbm2ddl的方式生成Liquibase更改日誌?

我搜索了很多頁面但沒有用,他們似乎指向我Liquibase命令行和一些ANT腳本,但它應該是可能的maven!

所以我想我的問題是:如何調用一個過程來生成用JPA註釋編寫的新實體類的Liquibase更改日誌?

感謝

回答

1

在這一點上,liquibase/Hibernate集成不支持休眠比較JPA註解。

當hibernate集成確實支持JPA時,您仍然希望確保生成的changeSets實際上符合您的期望,因爲任何數據庫diff工具都不瞭解更改的意圖(請參閱http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html)。出於這個原因,我傾向於從一開始就手工編寫changeSet。

1

我遇到了同樣的問題,並通過首先使用hibernate hbm2ddl(設置hibernate.hbm2ddl.auto創建或更新)創建數據庫,然後使用liquibase generateChangeLog命令針對生成的數據庫來解決該問題。