IntelliJ IDEA 2025.3 Help

代码辅助

JPA 代表贫血领域模型模式。 通常,主要的领域对象分层如下:

  1. 实体只包含数据

  2. Spring Data 仓库声明实体的 CRUD 操作

  3. 各实体到其 DTO 的 DTO 和映射器

这样的分离看起来很自然,因为每一层都有其明确的职责范围。 然而,由于对实体各种可用操作的发现能力差,它在开发过程中带来了额外的复杂性。

JPA Buddy 通过为 JPA 实体、 Spring Data 存储库、 DTO 和 MapStruct 映射器集成许多代码辅助功能来解决此问题,这使得开发更加简单透明。

代码补全

生成并注入 Spring Data JPA Repositories

要创建一个新的 Spring Data JPA 仓库,只需开始输入以实体名称开头的仓库名称(1)。 然后, repository wizard 将会打开。

通过遵循相同的编码风格,您还可以注入现有的 Spring Data JPA repository (2)。 只需开始输入现有的存储库名称,JPA Buddy 就会找到它。

spring-data-jpa-repository-generation-injection

根据您的 injection settings ,JPA Buddy 将把 repository 注入到当前类中。 下面的示例显示了基于构造函数的注入:

spring-data-jpa-repository-generation-injection

生成和调用方法/查询

使用 JPA Buddy,您不需要在多个编辑器之间切换焦点。 您可以直接从这里调用 query visual designers:

repository-methods-generation

此外,您可以通过实体类名称找到/创建存储库方法:

调用实体类名方法

生成并注入 MapStruct 映射器

JPA Buddy 能够生成 MapStruct 映射器,注入它并搭建一个适当的映射调用。 请使用 "mapTo..." 选项来 生成一个新的映射器 ,或从现有的映射器中应用方法(例如, mapToPetDto 对于下面的示例)。 此功能适用于单个实例和实体或 DTO 的集合。

map-to-postfix

选择 mapToPetDto 选项后,JPA Buddy 将生成以下代码:

映射到结果

有些开发者可能会选择先声明对象,再实现它。 对于坚持这种编程风格的开发者,JPA Buddy 将提供帮助。 建议创建:

  1. 如果引用以 Spring Data Repository settings中指定的值结尾,则使用Spring Data JPA Repository。 默认值为 存储库。

  2. 如果引用以 Projection declaration settings 中指定的值结束,则进行投影。 默认值是: Info、 Prj、 投影、 VO、 Vo、 View、 Request、 浏览。

  3. DTO——如果引用以 DTO Declaration Settings中指定的值结尾。 默认值为 数据传输对象。

未解析引用

然后,对应的向导将会打开。

Kotlin 支持

Java 开发者喜爱的所有功能同样适用于 Kotlin 爱好者。 无论您是即席创建 Spring Data 仓库、注入 MapStruct 映射器还是搭建方法调用架构——JPA Buddy 都能满足您的需求。 如果您希望在 Kotlin 中创建一个 REST 端点,JPA Buddy 使之变得轻而易举:

设置

JPA Buddy 提供灵活的设置,使编码辅助功能的使用更加便捷。 您可以:

  1. 启用/禁用 bean 注入类型的自动检测;

  2. 定义 bean 注入策略 ,JPA Buddy 在代码生成时将按照此策略执行;

  3. 配置是否使用智能完成功能。

设置-编码辅助
2026年 1月 23日