You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求适用于Eclipse或CLI的JPA实体类仓库与服务类生成工具

适用于Eclipse的JPA仓库/服务类生成工具及CLI方案

Eclipse插件推荐

1. Eclipse JPA Generator(免费开源)

这款插件可基于现有JPA实体类批量生成标准Spring Data JPA仓库接口,支持自定义模板,能根据项目规范调整仓库类结构——比如是否添加自定义查询方法、选择继承JpaRepository或CrudRepository等父接口。生成流程简单:

  • 选中实体类所在的包
  • 右键选择「Generate JPA Repository」
  • 在配置界面设置生成路径、父接口、命名规则等,一键批量生成所有仓库类

2. Spring Tools 4(STS)内置功能

如果使用Spring Tools 4 for Eclipse,它自带代码生成能力:

  • 右键点击项目,选择「Spring」>「Generate Spring Data JPA Repositories」
  • 选择目标实体类,设置生成包路径,快速生成对应仓库接口
  • 针对服务类,STS支持通过「Generate Service Layer」功能,基于仓库类生成基础CRUD服务模板,只需补充业务逻辑即可

CLI工具推荐

1. OpenAPI Generator(自定义模板生成)

虽主打API生成,但可通过自定义Freemarker模板生成JPA仓库和服务类:

  • 编写实体类元数据描述(或直接以Java类为输入)
  • 自定义匹配项目结构的仓库、服务类Freemarker模板
  • 执行命令完成生成:
    openapi-generator generate -g java -i your-entity-spec.yaml -o output-dir -t path-to-custom-templates
    
    这种方式灵活性极高,完全适配自定义代码规范。

2. JCodeModel(代码生成库)

这是一款用Java代码生成Java类的库,可编写简单脚本遍历所有JPA实体类,自动生成对应仓库和服务类:

  • 遍历项目中所有标注@Entity的类
  • 为每个实体生成继承JpaRepository的仓库接口
  • 生成包含CRUD方法的基础服务类,调用对应仓库方法
  • 示例代码片段:
    JCodeModel cm = new JCodeModel();
    JClass entityClass = cm.ref(User.class);
    JClass repositoryClass = cm.ref(JpaRepository.class).narrow(entityClass, Long.class);
    JDefinedClass repoInterface = cm._package("com.example.repo")._interface("UserRepository");
    repoInterface._extends(repositoryClass);
    cm.build(new File("src/main/java"));
    
    脚本写完后可打包成Jar,通过命令行执行批量生成。

额外实用技巧

  • 若使用Maven,可结合maven-plugin-plugin编写自定义Maven插件,在编译阶段自动生成仓库和服务类,完全集成到构建流程
  • 利用Eclipse的「Code Templates」功能,自定义仓库、服务类代码模板,选中实体类后通过快捷键快速生成单个类,适合小批量补充生成

内容的提问来源于stack exchange,提问作者Sohail Anwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 05:12:48