JPA java 代码生成

我专门寻找JPA代码生成技术

首先,项目可以生成哪些符合 JPA 的代码?(例如。冬眠工具)

其次,我还想自定义代码生成实用程序,因为它必须符合我们的企业标准。

如果没有,那么使用反射生成java代码的所有框架是什么?所以我可以从头开始写。

注意:我使用 eclipse 生成 JPA 代码,并反复重构它以使其兼容。


答案 1

我也很难理解这个问题,但我会试着改写:

  • 数据库中有大量数据,并希望通过 JPA 访问这些数据
  • 您不希望手动编写类来访问不同的数据库/表
  • 目前,所有/大多数模型类都是从 Eclipse 中生成的
  • 这些模型具有 JPA 注释
  • 模型类(或注释)不符合公司标准

当你说“JPA java代码生成”时,我理解从提供的数据库连接生成JPA注释的模型类。大多数框架通常将此称为逆向工程。

现在您有两个问题:

  1. 可以推荐使用哪些代码生成器来生成 JPA 注释类?
  2. 是否可以自定义这些框架的输出,以及以哪种方式?

要回答第一个问题:

我真的很喜欢 Netbeans 代码生成,特别是如果您向不熟悉 JPA 的人展示结果。

在自定义级别,我只能分享我使用Hibernate Tools的体验。特别是对于可重复的结果,请尝试使用基于ant的任务。您可以轻松地向生成中添加一些目标,并且可以在两个级别上完成代码生成:

使用模板,您应该能够涵盖大多数企业标准。查看休眠工具包的目录。自定义代码生成的最简单方法是复制和调整模板,并将它们放在休眠工具之前.jar用于创建 pojos 的 ant 任务中。pojo

正如在另一条评论中已经指出的那样,事后可能很难修改生成的代码。希望以下提示对您有所帮助:

  • 尝试将生成和自定义的源文件分开放在不同的文件夹中。
  • 考虑使用您可能想要在手动步骤中适应的类。@MappedSuperclass

答案 2

JPA代码生成的另一个有效解决方案是“Telosys Tools”"

一个Eclipse插件,从现有的数据库(“数据库优先”方法)使用可定制的模板。该解决方案比Dali更灵活,这要归功于其轻量级模型和Velocity模板(在GitHub上共享)

查看网站 : http://www.telosys.org/

Eclipse Marketplace上的插件:http://marketplace.eclipse.org/content/telosys-tools

原理简介:http://labs.sogeti.com/code-generation-can-it-be-simple-and-pragmatic/

对于 JPA 生成,请使用 GitHub 上提供的 JPA 模板https://github.com/telosys-templates-v3