从数据库表生成java域对象

时间:2009-05-19 03:05:52

标签: java eclipse spring spring-mvc domain-driven-design

我可以在eclipse中知道,是否有任何功能可以自动生成域对象,并且所有表关系都在类中正确映射?

可以为我提供一些参考文章吗?

9 个答案:

答案 0 :(得分:8)

您可以使用Hibernate之类的内容来完成此操作

这个名为Hibernate Tools for Eclipse和ANT的plugin set for Eclipse将为您完成大部分工作。

特别是它将进行逆向工程:Hibernate Tools最强大的功能是数据库逆向工程工具,它可以生成域模型类和Hibernate映射文件,带注释的EJB3实体bean,HTML文档甚至整个JBoss Seam应用程序。秒!

答案 1 :(得分:8)

Telosys代码生成器执行此类工作。 它是一个 Eclipse插件,它使用数据库模式来创建一个轻型模型 用于生成Java代码。

GitHub上有一些预定义的模板(适用于JPA,POJO,文档,Spring MVC等)

请参阅http://www.telosys.org

http://marketplace.eclipse.org/content/telosys-tools

模板:https://github.com/telosys-templates-v3

有关使用Telosys生成代码的文章:

答案 2 :(得分:1)

您可以通过Eclipse或ANT使用Hibernate Tools 3.0.0.GA直接从数据库表中自动生成hibernate域实体。

请参阅此处的教程: http://docs.jboss.org/tools/3.0.0.GA/en/hibernatetools/html_single/index.html

答案 3 :(得分:1)

我有一个解决方案,即创建自动生成域对象,并在课堂上正确映射所有表关系...尝试 Dal4j 是的,你可以在< strong> sourceforge.net/p/dal4j/wiki/ DAL4j是一个命令行和框架工具,可用于将MySQL或SQLServer数据库模式反向工程为一组JPA实体Bean。

DAL4j可用于存在现有数据库架构的情况,但其他技术可由应用程序用于与数据库交互。 DAL4j可以提供一种简单的方法将代码库从其他技术(如JDBC或Hibernate)迁移到JPA。

生成的bean可以是1种或两种类型:Simple或Framework。简单bean是由您的应用程序使用JPA语义管理的标准pojo类。框架生成的pojos使用DAL4j框架DAO泛型来简化CRUD操作。

DAL4j提供可选的钩子,允许您集成必须在数据库中加密的数据字段的加密/解密。

最后,DAL4j提供了一组通用类,可用于简化会话Bean的创建,使用生成的实体执行CRUD操作。

我想你会发现这篇文章可行....

答案 4 :(得分:0)

你想要一个object relational mapping,其中Hibernate是最受欢迎的Java。 hibernate工具通常更适合于使用带注释的类并使用它们来生成模式,而不是相反,这听起来就像你正在做的那样。我怀疑如果您正在使用遗留数据库架构,那么您将进行大量的手工注释。

答案 5 :(得分:0)

如果您使用grails,则可以使用GRAG http://sourceforge.net/projects/grag

生成域对象

答案 6 :(得分:0)

我使用eclipse进行java开发,但是当涉及生成域实体时,我使用Net beans。

创建EJB模块,然后右键单击并生成实体。 您还需要设置数据库,也可以直观地选择所需的表。

此致 Lyju

答案 7 :(得分:0)

感觉就像人们经常遇到的另一个相当普遍的问题。

下面的链接链接到一个足够详细的博客,以便我第一次学习如何从数据库模式生成实体。 http://shengwangi.blogspot.com/2014/12/how-to-create-java-classes-from-tables.html

以防万一,以下链接指的是eclipse帮助页面。此链接永远不会过期: http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jpt.doc.user%2Ftasks021.htm

我下载了JBoss并且无法理解它是如何工作的。我认为我使用的插件是Hibernate Tools,但我不确定,因为我没有为此目的安装任何新的插件。我正在使用Eclipse Luna for EE。

希望这有帮助。

答案 8 :(得分:0)

我厌倦了手动编码这种东西,所以我制作了一个工具来从模式生成模型、dao 和 dao 实现。它面向 spring boot 并且只在 MySQL 上进行测试,但是对于那些不想使用 Hibernate 并且只想使用 jdbc/sql 和 JdbcTemplate 的人,或者只是想要为表生成具有 getter/setter 的 POJO,那么这可能开始编码。

名为 Jassd(数据库生成器的 Java 自动化 Spring 源代码),我很高兴地介绍这个工具:https://github.com/aforslund/jassd