代码辅助
JPA 代表贫血领域模型模式。 通常,主要的领域对象分层如下:
实体只包含数据
Spring Data 仓库声明实体的 CRUD 操作
各实体到其 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 就会找到它。

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

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

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

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

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

从未解析的引用生成 JPA 相关对象
有些开发人员可能会选择在实现对象之前声明它。 JPA Buddy 将帮助那些遵循此编程风格的开发人员。 建议创建:
如果引用以 Spring Data Repository settings中指定的值结尾,则使用Spring Data JPA Repository。 默认值是 仓库。
如果引用以 Projection declaration settings 中指定的值结束,则进行投影。 默认值是: 信息、 Prj、 投影、 VO、 Vo、 视图、 请求、 浏览。
DTO——如果引用以 DTO Declaration Settings中指定的值结尾。 默认值是 数据传输对象。

然后,对应的向导将会打开。
Kotlin 支持
Java 开发者喜爱的所有功能同样适用于 Kotlin 爱好者。 无论您是即席创建 Spring Data 仓库、注入 MapStruct 映射器还是搭建方法调用架构——JPA Buddy 都能满足您的需求。 如果您希望在 Kotlin 中创建一个 REST 端点,JPA Buddy 使之变得轻而易举:
设置
JPA Buddy 提供灵活的设置,使编码辅助功能的使用更加便捷。 您可以:
启用/禁用 bean 注入类型的自动检测;
定义 bean 注入策略 ,JPA Buddy 在代码生成时将按照此策略执行;
配置是否使用智能完成功能。
