# JPA Buddy

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

> **Note: 数据库连接**
> 从 IntelliJ IDEA 2026.2 版本开始，JPA Buddy 插件不再提供自身的数据库连接管理。 要连接到数据库，请改用 [数据库工具和 SQL](relational-databases.html) 插件。

JPA Buddy 是一款 [IntelliJ IDEA 插件](https://plugins.jetbrains.com/plugin/15075-jpa-buddy)，可帮助开发者在 Java 和 Kotlin 中高效使用 Hibernate、EclipseLink、Spring Data JPA、Flyway、Liquibase、Lombok、MapStruct 以及其他相关技术。

> **Note:**
> 从 2023.3 开始，JPA Buddy 插件由 JetBrains 维护。 和以前一样，您可以从 JetBrains Marketplace 安装它。 在 IntelliJ IDEA 中，免费功能无需 Ultimate 订阅即可使用。 [此前在付费插件版本中提供的功能](jpa-buddy-paid-features.html) 现已在 IntelliJ IDEA 中免费提供，需 Ultimate 订阅。

该插件降低了使用 JPA 进行开发的入门门槛，提高了开发者的工作效率，并确保代码遵循最佳做法。

JPA Buddy 提供：

* [直观的向导用于 JPA](jpa-buddy-entity-designer.html)

* [自动数据库版本控制变更日志生成](database-versioning.html)

* [智能检查使代码更好](jpa-buddy-entity-designer.html#inspections-1)

* [基于表的 JPA 实体生成（逆向工程）](reverse-engineering.html)

* [可视化 DTO 设计器和映射器代码生成器](jpa-buddy-dto-generator.html)

* [编码辅助使开发更加简单透明](jpa-buddy-coding-assistance.html)

您可以在任何使用 Spring Boot、Jakarta Enterprise Edition、Quarkus、Micronaut 的项目中使用 JPA Buddy，甚至在没有任何框架的情况下使用。

Procedure: 安装 JPA Buddy 插件

此功能依赖 [JPA Buddy](https://plugins.jetbrains.com/plugin/15075) 插件，您需要安装并启用此插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  JPA Buddy  插件，然后点击   安装  。 如果出现提示，请重启 IDE。

Procedure: 安装特定版本的 JPA Buddy 插件

JPA Buddy 的每个版本都支持一系列 IntelliJ IDEA 版本。 例如，JPA Buddy 2023.1 可与 IntelliJ IDEA 2022.2、2022.3 和 2023.1 正常配合使用。 如果您需要在其他版本的 IntelliJ IDEA 上安装 JPA Buddy，您需要从磁盘安装插件。

1. 打开   版本   选项卡于 JetBrains Marketplace 的 [JPA Buddy](https://plugins.jetbrains.com/plugin/15075-jpa-buddy) 页面。

2. 下载与您的 IntelliJ IDEA 版本兼容的插件版本。

3. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

4. 在   插件   页面上，点击 ![“设置”按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.settings.svg)   管理仓库、配置代理或从磁盘安装插件  ，然后点击   从磁盘安装插件  。

![插件设置页面，设置菜单已打开，显示“从磁盘安装插件”选项。](https://resources.jetbrains.com.cn/help/img/idea/2026.3/py_install_plugin_from_disk.png)

5. 选择插件归档文件并确认您的选择。

6. 点击   OK   以应用更改，并在出现提示时重启 IDE。

## 支持的数据库

JPA Buddy 支持以下数据库：

* [H2](h2.html)

* [HSQLDB](hsqldb.html)

* [IBM Db2 LUW](ibm-db2-luw.html)

* [MariaDB](mariadb.html)

* [Microsoft SQL 服务器](microsoft-sql-server.html)

* [MySQL](mysql.html)

* [甲骨文](oracle.html)

* [PostgreSQL](postgresql.html)

## 依赖项

JPA Buddy 扫描项目依赖并启用相应的功能。 在多模块项目中，功能是基于模块内依赖项的存在来启用的，而不是整个项目。

> **Note:**
> 每次在 Maven 或 Gradle 构建脚本中添加依赖项时，点击 ![加载更改](https://resources.jetbrains.com.cn/help/img/idea/2026.3/maven.images.expui.build.mavenLoadChanges.svg)   加载 Maven 变更   或 ![加载更改](https://resources.jetbrains.com.cn/help/img/idea/2026.3/gradle.icons.expui.gradleLoadChanges.svg)   同步 Gradle 更改   在编辑器右上角部分或按 `Ctrl+Shift+O` (Windows), `Ctrl+Shift+O` (macOS), `Ctrl+Shift+O` (IntelliJ IDEA Classic (macOS)), `Ctrl+Shift+O` (macOS System Shortcuts), `Ctrl+Shift+O` (XWin), `Ctrl+Shift+O` (GNOME), `Ctrl+Shift+O` (KDE), `Ctrl+Shift+O` (Emacs), `Ctrl+Shift+O` (Sublime Text), `Ctrl+Shift+O` (Sublime Text (macOS)), `Ctrl+Shift+O` (Visual Studio), `Ctrl+Shift+O` (Visual Studio (macOS)), `Ctrl+Shift+O` (NetBeans), `Ctrl+Shift+O` (Eclipse), `Ctrl+Shift+O` (Eclipse (macOS))。

|  依赖  |  功能  |
| --- | --- |
|  [Hibernate](https://mvnrepository.com/artifact/org.hibernate/hibernate-core)  |      * 在 Java 和 Kotlin 中创建和编辑实体、实体属性、生命周期回调、索引和约束。    * 分配 JPA 转换器和 Hibernate 自定义类型。    * 将 Lombok 注解应用到实体。    * 生成正确的 equals, hashCode 和 toString。    |
|  [EclipseLink](https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink)  |
|  [Spring Data JPA](https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa)  |      * 为实体创建代码库。    * 使用可视化构造器生成查询。    * 从派生方法查询中提取 JPQL。    * 从查询中选择要返回的字段并生成投影。    |
|  [Hibernate Validator](https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator)  |  通过 JPA 设计器和 DTO 生成器向导分别向实体和 DTO 属性添加 Hibernate Validator 注解。  |
|  [Spring Boot Starter Validation](https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation)  |
|  [Hibernate Types](https://mvnrepository.com/artifact/com.vladmihalcea/hibernate-types-52)  |  通过代码检查分配 Hibernate 自定义类型给属性，并使用快速修复（ `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))）。  |
|  [Liquibase](https://mvnrepository.com/artifact/org.liquibase/liquibase-core)  |      * 自动通过将 JPA 模型与目标数据库、模型与快照或 DB 与 DB 进行比较来生成 Liquibase 更新日志。    * 使用可视化设计器进行 Liquibase 变更日志    * 在 Liquibase 变更日志中为表和列名称使用编码辅助和自动完成功能。 JPA Buddy 直接从您的数据模型中获取这些值。    |
|  [Flyway](https://mvnrepository.com/artifact/org.flywaydb/flyway-core)  |      * 通过将 JPA 模型与目标数据库、模型与快照或数据库与数据库进行比较来生成 Flyway 迁移。    * 为您的实体在 SQL 文件中生成插入、更新和删除语句。    |
|  [MapStruct](https://mvnrepository.com/artifact/org.mapstruct/mapstruct)  |  创建 MapStruct 映射器以在实体和 DTO 之间进行转换。  |
|  [Blazebit Persistence Entity View API](https://mvnrepository.com/artifact/com.blazebit/blaze-persistence-entity-view-api)  |  为 JPA 实体创建 Blaze Persistence 实体视图。  |
|  [Blazebit Persistence 集成 Spring Data 基础](https://mvnrepository.com/artifact/com.blazebit/blaze-persistence-integration-spring-data-base)  |  为 Blaze Persistence 实体视图创建 Spring Data JPA 存储库。  |
|  [Hibernate Envers](https://mvnrepository.com/artifact/org.hibernate/hibernate-envers)  |      * 生成审计表的数据库迁移脚本。    * 创建 Spring Data JPA 修订库。    * 通过 JPA Designer 注释实体及其字段以进行审计。    * 通过便捷向导生成 @RevisionEntity。    |

## JPA Buddy 可视化工具

如果 JPA Buddy 检测到支持的依赖项，您可以使用以下可视化工具：

![JPA Buddy 可视化工具](https://resources.jetbrains.com.cn/help/img/idea/2026.3/jpa-buddy-interface_without_persistence.png)

1.    编辑器   工具栏

2.    JPA 设计器   工具窗口

> **Tip:**
> 此前，   JPA 资源管理器   工具窗口也是 JPA Buddy 的一部分。 从 IntelliJ IDEA 2024.2 开始，   JPA 资源管理器   的大部分功能都可以在 [Persistence](persistence-tool-window.html) 工具窗口中使用。

## 问题跟踪器

如果您在 JPA Buddy 中发现了错误或想建议新功能或改进，请随时在 [YouTrack](https://youtrack.jetbrains.com/issues/JPAB) 上创建工单。

