Jakarta Data
Jakarta Data 是 Jakarta EE 生态系统中的一个规范,专注于数据库操作。 它提供了一个 API,可用于创建仓库:具有插入、更新、删除和查询数据库实体方法的接口。
Jakarta Data 的一个关键特性是无需手动实现仓库方法。 只要使用 Jakarta Data API 的注解和关键字,兼容的 实现库 会提供底层逻辑并将方法声明转为实际数据库调用。
IntelliJ IDEA 为 Jakarta Data 提供以下支持:
仓库的编码辅助:根据实体类补全和校验方法名称,并根据方法名称校验形参
可在 Beans 工具窗口 中进行仓库间导航
为 Jakarta Data Query Language (JDQL) 提供辅助:语法高亮显示、基于实体类的语句自动补全以及校验语句
启用 Jakarta EE: Data 插件
此功能性依赖于 Jakarta EE: Data 插件,该插件在 IntelliJ IDEA Ultimate 中默认捆绑并启用。 如果相关功能不可用,请确保您没有禁用插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,找到 Jakarta EE: Data 插件,并选中插件名称旁的复选框。
将 Jakarta Data 添加到项目中
要在 IntelliJ IDEA 启用 Jakarta Data 支持,需要将其 API 添加到项目依赖项中。 它提供声明仓库及仓库方法所需的注解、接口和关键字。 但要让这些仓库可用,还需要以下依赖项:
提供实体注解的 API,例如 Jakarta Persistence (JPA) 或 Jakarta NoSQL。 需要它来定义仓库方法操作的实体类。
一个实现库。 它实现仓库方法,管理实体生命周期,并处理与数据库的通信。 它将抽象仓库方法转化为实际数据库操作。
本指南中,根据数据库是 关系型 还是 非关系型 ,使用如下依赖组合:
数据库类型 | API | 实现 |
|---|---|---|
关系型 | Jakarta Data + Jakarta Persistence (JPA) | |
非关系型 | Jakarta Data + Jakarta NoSQL |
创建包含 Jakarta Data 的新 Jakarta EE 项目
打开 新建项目 向导:
在欢迎屏幕上,点击 新建项目。
在 IDE 中,转到 。
从 生成器 列表中选择 Jakarta EE。

设置 Jakarta EE 项目设置。
进入向导的下一步。 在左上角选择要使用的 Jakarta EE 版本。
从 依赖项 列表中选择 数据。 然后根据数据库类型,选择以下项:
关系型: 持久性(JPA) 和 Hibernate。
非关系型: NoSQL。 创建项目后,需要 手动添加 Eclipse JNoSQL。

点击 创建。
有关创建 Jakarta EE 项目的更多信息,例如如何设置应用程序服务器,请参阅 教程:您的第一个 Jakarta EE 应用程序。
将 Jakarta Data 添加到现有项目中
在编辑器中打开构建文件(根据项目中所用构建工具,可能是 pom.xml 或 build.gradle )。
请根据数据库类型添加以下依赖项:
- 关系型数据库
- <!-- Jakarta Data specification --> <dependency> <groupId>jakarta.data</groupId> <artifactId>jakarta.data-api</artifactId> <version>1.0.1</version> </dependency> <!-- Jakarta Persistence specification --> <dependency> <groupId>jakarta.persistence</groupId> <artifactId>jakarta.persistence-api</artifactId> <version>3.2.0</version> </dependency> <!-- Implementation (Hibernate) --> <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>7.2.4.Final</version> </dependency>
Hibernate 可能需要额外依赖项。 请参考 官方文档 获取指导。
- 非关系型数据库
- <!-- Jakarta Data specification --> <dependency> <groupId>jakarta.data</groupId> <artifactId>jakarta.data-api</artifactId> <version>1.0.1</version> <scope>provided</scope> </dependency> <!-- Jakarta NoSQL specification --> <dependency> <groupId>jakarta.nosql</groupId> <artifactId>jakarta.nosql-api</artifactId> <version>1.0.1</version> <scope>provided</scope> </dependency> <!-- Implementation (Eclipse JNoSQL) --> <dependency> <groupId>org.eclipse.jnosql.mapping</groupId> <artifactId>jnosql-mapping-document</artifactId> <version>1.1.12</version> </dependency>
不同的 NoSQL 数据库需要不同的 Eclipse JNoSQL 依赖项。 请参考 官方文档 获取指导。
- 关系型数据库
- // Jakarta Data specification compileOnly('jakarta.data:jakarta.data-api:1.0.1') // Jakarta Persistence specification compileOnly('jakarta.persistence:jakarta.persistence-api:3.2.0') // Implementation (Hibernate) implementation('org.hibernate.orm:hibernate-core:7.2.4.Final')
Hibernate 可能需要额外依赖项。 请参考 官方文档 获取指导。
- 非关系型数据库
- // Jakarta Data specification compileOnly('jakarta.data:jakarta.data-api:1.0.1') // Jakarta NoSQL specification compileOnly('jakarta.nosql:jakarta.nosql-api:1.0.1') // Implementation (Eclipse JNoSQL) implementation('org.eclipse.jnosql.mapping:jnosql-mapping-document:1.1.12')
不同的 NoSQL 数据库需要不同的 Eclipse JNoSQL 依赖项。 请参考 官方文档 获取指导。
按 Ctrl+Shift+O 导入更改。
创建 Jakarta Data 仓库
Jakarta Data 仓库是带有 @Repository 注解的接口,用于声明实体的数据库操作,如查找、插入、更新或删除。 通常一个仓库管理一个实体类。
打开 项目 工具窗口(Alt+1 ),转到要创建仓库的软件包。
右键点击该软件包并选择 。
在 新建 Java 类 弹窗中,选择 界面 ,为仓库设置名称,然后按 回车键。
用
@Repository注解接口声明。 如有提示,导入该类。
现在 IntelliJ IDEA 可以将该接口识别为 Jakarta Data 仓库,并提供编码辅助。
(可选)扩展 Jakarta Data 的内置仓库之一:
DataRepository :可指定实体类及其 ID 类型,但不提供预定义方法。
BasicRepository :在
DataRepository基础上,提供查找、保存和删除实体的基本方法。CrudRepository :在
BasicRepository基础上,提供用于更新和插入实体的其他方法。
创建仓库后,即可开始声明方法。 请注意,为了让 Jakarta Data 识别方法所代表的数据库操作类型,需要使用其支持的声明模式之一:注解(例如 @Find )或方法名称中的特定前缀(例如 findByName)。 如需了解声明仓库方法的详情,请参阅 Jakarta Data API 文档。
使用 JDQL 查询
Jakarta Data Query Language (JDQL) 允许为仓库方法编写显式查询,作为按方法名称查询或使用其他注解之外的另一种选择。 在 @Query 注解内输入 JDQL 时,IntelliJ IDEA 会自动识别、根据实体类建议字段名称,并校验查询语句。

在专用编辑器中编辑 JDQL 查询
在专用编辑器中打开 JDQL,有助于专注于查询,而不受周围编码影响。 如果查询较复杂或跨多行,这将非常有用。
将文本光标放在 JDQL 查询位置。
按 Alt+Enter (或点击
显示上下文操作 ),然后选择 编辑 Jakarta Data QL 片段。
IntelliJ IDEA 会在专用片段编辑器中打开查询。
