首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate5中的“反向工程”功能在哪里?

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

Stack Overflow用户
提问于 2017-06-11 04:38:49
回答 2查看 1.9K关注 0票数 7

我正在将一个旧项目从hibernate3升级到hibernate5。该项目依赖于hbm2java (所谓的逆向工程工具)。在旧的项目中,这是用mvn hibernate3:hbm2java执行的。

不幸的是,hbm2java在Hibernate5中找不到--不在代码中,在文档中也找不到。

Hibernate5与旧hbm2java的等价性是什么?或者如果它不再被支持,最接近的选择是什么?我愿意完全摆脱Hibernate,如果这就是摆脱Hibernate 3所需要的话。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-13 05:23:30

Suggestion#1:

你可以用蚂蚁跑者。也许会有帮助。

代码语言:javascript
复制
mvn antrun:run@hbm2java

如果您已经修改了模板(请参阅文档),那么在pom.xml中,修改hibernate工具标记如下:

代码语言:javascript
复制
<hibernatetool templatepath="src/the/path/to/the/directory/containing/pojo/directory">

上面的路径必须指向包含模板的名为pojo的目录的父目录。

另外,如果您有一个定制的反向工程策略类,那么在pom.xml中,将这个属性添加到jdbcconfiguration标记中。

代码语言:javascript
复制
reversestrategy="fully.qualified.name.CustomDelegatingReverseEngineeringStrategy"

资源链接: 使用Maven的Hibernate工具逆向工程

我还没有检查它,但是您可以使用Hibernate 5.X版本尝试这个过程。

Suggestion#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

对于反向工程规则,您可以阅读本教程:第六章逆向工程控制

票数 2
EN

Stack Overflow用户

发布于 2017-07-12 22:10:48

hibernate-maven插件的最新版本是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.java。那就是你一直在找的不是吗?因此,还应该可以在本地maven repo中构建hibernate5 github项目,然后绑定项目pom中的依赖项。

最后,在执行部分中添加适当的任务和目标。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44480415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档