📅  最后修改于: 2023-12-03 15:05:15.821000             🧑  作者: Mango
在 Spring Boot 中,有两个重要的接口,CrudRepository 和 JpaRepository,它们都是用于数据访问的接口。虽然它们都能够进行 CRUD 操作(Create、Read、Update 和 Delete),但它们之间还是有一些区别的。
CrudRepository 是 Spring Framework 中定义的一个接口,它提供了一组通用的方法来进行 CRUD 操作。它的实现类 SimpleJpaRepository 使用了 JPA 提供的标准实现,可以用于对 JPA 实体进行操作。CrudRepository 中定义的主要方法有:
CrudRepository 通过泛型来指定要操作的实体类型和实体 ID 的类型。例如,以下代码创建了一个 CrudRepository 接口,用于对 Book 实体进行操作:
public interface BookRepository extends CrudRepository<Book, Long> {
}
JpaRepository 是 Spring Data JPA 中定义的一个接口,它继承自 CrudRepository,因此它也可以进行 CRUD 操作。JpaRepository 中新增了一些方法,用于更方便地进行数据访问,如:
JpaRepository 提供了对 JPA 实体的访问和查询支持,同时它也可以使用 JPA 的 Criteria API 进行查询。以下代码创建了一个 JpaRepository 接口,用于对 Book 实体进行操作:
public interface BookRepository extends JpaRepository<Book, Long> {
}