JpaRepository 与 CRUDRepository findAll

问题描述 投票:0回答:2

我有一个简单的问题:为什么 JpaRepository 返回实体列表,而 CrudRepository 返回实体的 Iterable?

是故意的吗?我想这是因为 CrudRepository 是更通用的接口,并且可能有一些特定的存储库返回 Iterable。

在不使用特定 JpaRepository 的情况下使用 CrudRepository 会变得更加困难..

谢谢

spring-data spring-data-jpa
2个回答
28
投票

CrudRepository
Spring Data Commons 项目的一部分,并且 是推荐扩展的接口,无论实际使用的数据存储如何。

CrudRepository
方法返回
Iterable
而不是
List
(或
Set
)的原因是因为某些数据存储允许结果流并且使用
Collection
类型会导致此类存储的功能丢失。


4
投票

JpaRepository extends PagingAndSortingRepository

PagingAndSortingRepository extends CrudRepository

这允许

JpaRepository
拥有更具体的
Itrable
返回类型,即
List

© www.soinside.com 2019 - 2024. All rights reserved.