【问题标题】:How to generate model from database如何从数据库生成模型
【发布时间】:2011-06-12 11:05:28
【问题描述】:

我有一个现有的数据库。我需要从中生成 Java 模型类。是否有任何工具/库可以让我这样做。如果能将数据库中的实体关系也模拟到模型类中,将会有很大的帮助。

如果工具/库仅与一个数据库供应商合作,则可以接受。我将在那里创建一个数据库,然后生成模型。

提前致谢。

编辑:如果我设法生成模型,我可能会使用 Hibernate 作为 ORM 框架。

【问题讨论】:

  • 如果您正在生成模型,是否还要指定您将使用哪个 ORM 框架?做这件事有很多种方法; EclipseLink、Hibernate 和其他一些框架确实提供了工具。然而,所有这些都将使用特定的 API 注释来注释模型。
  • 我可能会使用 Hibernate。

标签: java database hibernate


【解决方案1】:

Hibernate Tools project(可作为 Eclipse 插件和 Ant 任务使用)允许将数据库模式“逆向工程”为适当的实体类。

这个项目也可以在JBoss Tools project.

该工具允许将reverse-engineering of the database metadata 放入 Hibernate 配置文件。所有工件(包括 .java 文件)都是从此配置文件生成的。

您可以control the nature of the reverse engineering process 以适应您的数据库结构。换句话说,您可以指定您希望工具逆向工程的模式。除了将逆向工程过程限制为一组选定的表之外,您还可以覆盖 JDBC 类型映射。

必填链接:

【讨论】:

  • 断开链接:逆向工程和代码生成
【解决方案2】:

Telosys 正是这项工作

让我们看看:http://www.telosys.org/

【讨论】:

    【解决方案3】:

    Minuteproject 4 JPA2 (http://minuteproject.wikispaces.com/JPA2) 轨道执行此任务。 Minuteproject 可以从控制台或命令行运行。

    您可以通过从控制台生成一个包含 java 或 groovy 中的 JPA2 映射类的 maven 项目来快速获得结果。 如果您使用命令行,那么您需要填写一个 xml 文件,该文件可以包含您生成的代码的额外自定义,例如打包、枚举、别名等...

    您还可以尝试其他构建在 JPA2 之上的轨道,例如带有 spring 的 DAO 或 EJB;休息;使用 Primefaces 或 Openxava 的前端;等等……

    【讨论】:

      【解决方案4】:

      Hibernate 有一个具有逆向工程功能的 Eclipse 插件 Hibernate Tools http://www.hibernate.org/subprojects/tools.html。

      有关如何运行和自定义逆向工程过程的更多详细信息,请参阅:http://docs.jboss.org/tools/3.2.0.GA/en/hibernatetools/html/plugins.html#refeng_codegen。

      【讨论】:

        猜你喜欢
        • 2012-07-01
        • 2018-12-12
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多