是否有工具将数据库表反向工程为JPA Groovy实体类?

时间:2014-01-09 17:57:02

标签: java hibernate jpa groovy

我正在寻找一种方法来反向工程RDBMS表(MS SQL Server)并生成JPA @Entity Groovy类。我们目前没有使用Grails和/或GORM的选项,因此Grails db-reverse-engineer插件似乎很接近但不太正确。它生成符合GORM的类而不是JPA实体类。我们目前有一个gradle构建,它利用org.hibernate.tool.ant.HibernateToolTask hbm2java ant任务生成Java @Entity类。如果我可以通过使用Groovy类来消除样板getter / setter噪声,那将是很好的。

有没有可以做到这一点的工具?虽然不太理想,但仍然可行,org.hibernate.tool.ant.HibernateToolTask hbm2java ant任务是否可以配置为将所有注释放在类私有属性而不是getter / setter上?这样,我们就可以编写一个贫民窟 - 神话般的正则表达式来拉出所有的getter / setter。

2 个答案:

答案 0 :(得分:4)

好吧,考特尼和我都需要它......好吧,我写了。

https://github.com/loosebits/hibernate-tools.git

答案 1 :(得分:2)

Minuteproject是一个逆向工程工具,可以从关系数据模型生成JPA2实体。

Minuteproject 4 JPA2提供了一个生成具有常规功能的JPA2工件的选项: Minuteproject 4 JPA2和Minuteproject 4 JPA2-groovy之间的区别如下:

  • 没有吸气剂,二传手
  • 语法更改([...])({...})注释列表
  • groovy扩展(适用于JPA2实体和相关的数据模型)

不仅人工制品的性质被彻底改变了。而且maven pom结构和构建也适应了:

  • Maven pom适应处理groovy(构建插件)
  • 在/ src / main / groovy下生成groovy工件,而不是/ src / main / java。

您可以通过下载并启动控制台来快速测试它: $ MINUTEPROJECT_HOME /应用/ start-console.sh / CMD 根据需要调整配置

enter image description here

通过选择JPA2-groovy轨道并生成,结果显示为maven项目,仅保存与groovy语法匹配的JPA2工件。

可在http://minuteproject.wikispaces.com/JPA2

找到更多信息