2011-01-26 141 views
2

這個問題是基於之前發佈的兩個線程。liquibase和hibernate註釋

Hibernate using JPA (annotated Entities) and liquibase

Liquibase diffChangeLog against a Hibernate mapping definition

我的困惑是,如果我使用Hibernate註解,我仍然需要寫在更新日誌的變更。

此外,很多人現在都在使用hibernate註釋,我希望有人能給我一個真正需要的東西的例子來真正實現它。在互聯網上沒有好的例子。

+0

您可以舉一些例子,如何使用Liquibase和JPA註釋? – 2011-01-30 21:55:19

回答

4

liquibase hibernate diff的JPA/Annotation支持沒有經過過度測試,也沒有涵蓋所有的情況和註釋,所以考慮到目前的狀態,它可能還沒有準備好作爲正常工作流的一部分。這就是說,即使/經過全面測試,手動編寫變更集也許是有意義的。 hibernate支持在當前數據庫和hibernate期望的數據庫之間做一個差異,並輸出變更集以從當前數據庫移動到hibernate數據庫。雖然這經常奏效,但任何基於數據庫差異的進程都存在固有的問題(請參閱http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html)。就個人而言,由於最好檢查並可能修改由hibernate diff添加的變更集,然後執行它們,我覺得自己添加變更集也很容易。通過這種方式,我可以利用更高級別的更改(如IntroducingLookupTable),使changeLog更具可讀性。

肯定有環境和工作流程,其中changeset的生成是很好的,這就是爲什麼它會被支持,但它還沒有,你肯定可以使用liquibase與休眠沒有它。

+2

嗨,nathan,如果你能給我一個例子,說明如何使用maven(帶或不帶hibernate註釋),這將是非常好的,因爲我還沒有找到任何實際的例子。你也可以添加一些示例拉鍊,以便我們可以清楚地瞭解liquibase的工作原理。即使是一些非常基本的愚蠢的例子也足夠了。 – Ikthiander 2011-01-27 00:39:49