[英]Where is the “Reverse Engineering” feature in Hibernate5?
我正在將一個舊項目從 hibernate3 升級到 hibernate5。 該項目依賴於 hbm2java(所謂的逆向工程工具)。 在舊項目中,這是使用mvn hibernate3:hbm2java
執行的。
不幸的是,在 Hibernate5 中找不到hbm2java
- 不在代碼中,不在文檔中。
什么是 Hibernate5 相當於舊的hbm2java
? 或者如果它不再受支持,最接近的選擇是什么? 我願意完全退出 Hibernate,如果這就是退出 Hibernate 3 所需要的。
hibernate-maven-plugin的最新版本是 4.3.1。
您可以通過使用 hibernate 4.3.1 自然地擺脫 hibernate 3。
看起來 hbm2java 任務存在於最新的 hibernate 版本的源中: https : //github.com/hibernate/hibernate-tools/blob/master/main/src/java/org/hibernate/tool/ant/Hbm2JavaExporterTask。爪哇。 這就是你要找的不是嗎? 所以也應該可以在你本地的maven repo中構建hibernate5 github項目,然后在你的項目pom中綁定依賴。
最后在執行部分添加適當的任務和目標。
您可以使用 maven ant runner。 它可能會有所幫助。
mvn antrun:run@hbm2java
如果您修改了模板(請參閱文檔),則在 pom.xml 中,將 hibernate 工具標記修改為如下所示:
<hibernatetool templatepath="src/the/path/to/the/directory/containing/pojo/directory">
上面的路徑必須指向名為 pojo 的目錄的父目錄,其中包含您的模板。
此外,如果您有自定義逆向工程策略類,請在 pom.xml 中將此屬性添加到 jdbcconfiguration 標記。
reversestrategy="fully.qualified.name.CustomDelegatingReverseEngineeringStrategy"
資源鏈接: Hibernate 工具使用 Maven 逆向工程
我還沒有檢查過,但您可以使用 Hibernate 5.X 版本嘗試執行此過程。
這個問題在 Hibernate 5.x 版本中似乎很關鍵。 所有建議是使用 4.3 版本進行逆向工程而不是 5.x
資源鏈接: https : //stackoverflow.com/a/37577315
這里給出了使用 4.3 而不是 5.1 與圖片視圖的分步教程: http : //o7planning.org/en/10125/using-hibernate-tools-generate-entity-classes-from-tables
<schema-selection>
標簽這個問題需要手動解決(它只是基本的 XML),或者您可以使用 Hibernate 插件,它提供了一個專門的編輯器。 http://www.hibernate.org/30.html
對於逆向工程規則,您可以閱讀本教程: 第 6 章控制逆向工程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.