【问题标题】:Reverse-engineering tool for code generation of Hibernate annotated DTO/DAO classes用于 Hibernate 注释 DTO/DAO 类的代码生成的逆向工程工具
【发布时间】:2011-10-08 09:06:56
【问题描述】:

关于 Hibernate 带注释的 DTO/DAO-s 的代码生成,我有以下问题:

  • 是否可以使用诸如 hibernatetool 之类的逆向工程工具来生成 DTO/DAO-s 以及注释(与 xml 配置相反,我已经看到工作)。

  • 如果有这样的工具,有没有Maven插件也可以用?

  • 如果 Hibernatetool 只支持基于 xml 的配置(并且没有其他工具可以生成带注释的类),如果框架已经支持,为什么 hibernatetool 不支持呢? 支持注释这么久了?

我知道那里有大量的代码生成器(从 sql4java 到 oAW 和 firestorm)。但我正在寻找一个好的代码生成器,它可以从现有数据库中生成 DTO/DAO-s,而不必为此使用 UML。如果这个生成器也可以生成 Spring 配置,那就太好了。

感谢您的宝贵时间,

马丁

【问题讨论】:

标签: java hibernate code-generation maven-plugin


【解决方案1】:

您可以尝试 Telosys Tools,这是一个用于代码生成的 Eclipse 插件 使用可自定义的 Velocity 模板从现有数据库中工作

见:http://sites.google.com/site/telosystools/ Eclipse 市场:http://marketplace.eclipse.org/content/telosys-tools

本教程包括 JPA 实体生成:https://sites.google.com/site/telosystutorial/springmvc-jpa-springdatajpa

【讨论】:

    【解决方案2】:

    不确定在这种情况下你所说的反向工程是什么意思,但 Spring-Roo 做了你似乎需要的所有事情。Spring-Roo 生成完整的样板代码,包括 DAO。

    【讨论】:

    • 我的意思是我有一个现有的数据库。有一些工具可以读取元数据并根据表关系为您生成必要的类。
    • 是的,请参阅此链接中的 数据库逆向工程 ibm.com/developerworks/java/library/os-springroo2/?ca=drs-
    • 谢谢,这看起来很有希望!我会试试看,让你知道会发生什么! :-)
    • 我一定会这样做的! :)
    • 虽然我不太喜欢它产生的效果,但这似乎是一种解决方案。感谢您指出。我尝试过这个。我会玩弄它,看看它是否真的能满足我的需求。
    【解决方案3】:

    您可以查看Spring Roo 一个用于 DB 到 Spring 配置的数据库逆向工程工具。存在 eclipse 集成,因此您可以在 eclipse 中执行此操作。

    【讨论】:

      【解决方案4】:

      基于 Eclipse 的 JBoss Tools 可以为您生成 JPA 注释的实体(但不是 DAO,我认为)。

      与 Hibernate 项目一样,the documentation 令人困惑且难以理解,但功能就在那里。

      还有一组Ant tools 已移植到Maven Plugin。这是ant version of what you probably need(maven 版本的文档几乎不存在)

      【讨论】:

      • 谢谢,但我正在寻找更多独立于 IDE 的解决方案,因为我的项目是基于 Maven 的并且我使用 Idea。
      • @calrlspring 好的,更新了我的答案。您可以通过 antrun 插件或 hibernate3-maven-plugin 使用 ant(如果您了解文档,我不了解)。我会选择 antrun 插件。
      • 我对hibernatetool和hibernate3-maven-plugin的印象是,它们只产生无注解的代码,而产生*hbm.xml配置的代码。我已经浏览了他们的文档。如果有人能证实或否认我的这种怀疑,我将不胜感激。谢谢!
      • @carlspring 不,我很确定他们也支持<jdbcconfiguration>。否则它们将毫无用处。
      • 我刚刚再次检查了 Maven 插件。它仅适用于 hbm 文件。
      猜你喜欢
      • 2012-01-15
      • 1970-01-01
      • 2018-09-07
      • 2012-03-15
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      相关资源
      最近更新 更多