一个轻量级 Java 库,用于审计对象变更,提供对象差异比较和数据版本历史。
spring-projects/spring-data-jpa
Spring Data JPA 为 Spring 应用提供基于 JPA 的数据访问仓库接口,可根据方法名和查询自动生成实现。
- Star
- 3,296
- Fork
- 1,585
- 未关闭 Issue
- 120
- 最近提交
- 前天
这是什么?
Spring Data JPA 是 Spring Data 家族中的一个模块,用于在 Java 应用中基于 Java Persistence API 快速构建数据访问层。开发者只需声明仓库接口(包括自定义查询方法),Spring 会在运行时提供实现,从而减少 CRUD、查询和分页等场景下的样板代码。
该库可根据仓库方法名生成查询,支持通过查询方法调用 JPA NamedQuery,并提供领域实体的基类。它还支持创建时间、最后修改时间等审计字段的自动维护,并允许将自定义仓库代码接入生成的仓库中。
它与 Spring Framework 深度集成,提供自定义配置命名空间,并支持 @EnableJpaRepositories 等注解。项目使用 Maven 构建,从源码编译需要 JDK 17 或更高版本。
核心功能
- 01为 JPA 实体自动实现 CRUD 方法
- 02根据仓库方法名生成查询
- 03通过查询方法调用 JPA NamedQuery
- 04提供领域基类并自动记录创建与修改审计字段
- 05支持集成自定义仓库代码
适用场景
- 构建通过 JPA 将实体持久化到关系型数据库的 Spring 服务
- 用声明式仓库接口替代手写的 DAO 样板代码
- 为现有 JPA 数据层添加分页和自定义查询方法
快速上手
- 1
在项目中添加 Maven 依赖 spring-data-jpa
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>${version}</version> </dependency> - 2
定义继承 CrudRepository 的仓库接口,并使用 @EnableJpaRepositories 配置 JPA
使用前须知
- 从源码构建需要 JDK 17 或更高版本。
收录于专题
标签
常见问题
- spring-data-jpa 是什么?
- Spring Data JPA 为 Spring 应用提供基于 JPA 的数据访问仓库接口,可根据方法名和查询自动生成实现。 Spring Data JPA 是 Spring Data 家族中的一个模块,用于在 Java 应用中基于 Java Persistence API 快速构建数据访问层。开发者只需声明仓库接口(包括自定义查询方法),Spring 会在运行时提供实现,从而减少 CRUD、查询和分页等场景下的样板代码。
- spring-data-jpa 可以免费使用吗?用的什么许可证?
- spring-data-jpa 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- spring-data-jpa 还在维护吗?
- 活跃维护中。spring-data-jpa 最近一次提交是在 2026年11月5日。
- spring-data-jpa 适合用来做什么?
- 构建通过 JPA 将实体持久化到关系型数据库的 Spring 服务 用声明式仓库接口替代手写的 DAO 样板代码 为现有 JPA 数据层添加分页和自定义查询方法
- spring-data-jpa 怎么安装和运行?
- 在项目中添加 Maven 依赖 spring-data-jpa: <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>${version}</version> </dependency> 定义继承 CrudRepository 的仓库接口,并使用 @EnableJpaRepositories 配置 JPA
- 在哪里获取 spring-data-jpa?
- 源代码和安装说明在 GitHub 上:https://github.com/spring-projects/spring-data-jpa
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Spring 平台的 Java 框架,用于快速构建可投入生产的应用和服务,配置极简。
Spring Security 是面向 Spring 应用的 Java 安全框架,提供认证、授权及常见攻击防护。
面向 Node.js 与 TypeScript 的 ORM,提供类型安全的数据库访问,支持 PostgreSQL、MySQL、SQLite、MongoDB 等。
面向 Node.js 等 JS 平台的 TypeScript/JavaScript ORM,同时支持 Active Record 与 Data Mapper 模式。