【发布时间】:2009-04-18 20:15:47
【问题描述】:
有没有 Java 代码生成持久性框架? “数据库优先”而不是对象模型优先的东西? 我知道这在 Java 世界中可能是异端邪说,我只是想知道是否存在这样的框架。
这些天我更像是一个 .NET 人。因此,想到了 .NET 端的工具,例如 .NET 层或 CSLA。
【问题讨论】:
标签: java database persistence orm
有没有 Java 代码生成持久性框架? “数据库优先”而不是对象模型优先的东西? 我知道这在 Java 世界中可能是异端邪说,我只是想知道是否存在这样的框架。
这些天我更像是一个 .NET 人。因此,想到了 .NET 端的工具,例如 .NET 层或 CSLA。
【问题讨论】:
标签: java database persistence orm
当然,例如 hibernate 和 netbeans 可以对数据库进行逆向工程。你可能想看看:
我的 2 美分。
【讨论】:
Apache Cayenne ORM 框架能够对数据库进行逆向工程。见here。
【讨论】:
我开发了jOOQ 来完全满足您的需求 - 所以不要担心异端:-)
查看examples page 或article on dzone,说明我创建这样一个框架的动机。主要优点是:
请注意,jOOQ 不是真正的 OR-mapper。它专注于您的 RDBMS 中的关系数据模型,并没有让您像 Hibernate 或 JPA 那样创建自定义的面向对象的域模型。这正是您提到自己的原因:Something that is "database first" rather than object model first
【讨论】:
结帐EclipseLink项目(eclipse插件),你可以generate数据库表中的JPA模型
【讨论】:
DB Importer 是一个从数据库生成 JPA 类的 Eclipse 插件。
免责声明:我是 DB Importer 的创建者。
【讨论】:
Telosys Tools 是一款免费的“数据库优先”代码生成器
见:https://sites.google.com/site/telosystools/
它是一个 Eclipse 插件,如果需要可以自定义模板
它可以生成持久层(JPA),也可以生成 CRUD 屏幕 (教程在这里:https://sites.google.com/site/telosystutorial/)
【讨论】:
许多基于 Java 的持久性工具都包含基于现有模式生成代码的工具。 Netbeans 将生成 JPA(如果需要,包括会话 bean 外观)。同样,JBoss Tools for Eclipse 将根据现有模式为您生成 Hibernate JavaBeans。
【讨论】:
我会推荐HiberObjects。它是一个 Eclipse 插件,可用于对持久对象建模或对现有数据库进行逆向工程。它让您设置unit tests 的方式真的很棒。您还可以修改例如 DAO 类的生成方式:只需修改 Groovy 脚本,所有 DAO 类都会重新生成。我遇到了一些错误,但它背后的人反应迅速,并在短时间内发布了修复程序。在Eclipse Plugin Central 可以找到描述和用户评分/cmets。
【讨论】: