簡體   English   中英

Hibernate5中的“逆向工程”功能在哪里?

[英]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中綁定依賴。

最后在執行部分添加適當的任務和目標。

建議#1:

您可以使用 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 版本嘗試執行此過程。


建議#2:

這個問題在 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

下面給出一些問題:

  1. 數據庫區分大小寫問題
  2. 類型映射
  3. 表格過濾
  4. 沒有指定<schema-selection>標簽

這個問題需要手動解決(它只是基本的 XML),或者您可以使用 Hibernate 插件,它提供了一個專門的編輯器。 http://www.hibernate.org/30.html

對於逆向工程規則,您可以閱讀本教程: 第 6 章控制逆向工程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM