我有一个简单的问题:为什么 JpaRepository 返回实体列表,而 CrudRepository 返回实体的 Iterable?
是故意的吗?我想这是因为 CrudRepository 是更通用的接口,并且可能有一些特定的存储库返回 Iterable。
在不使用特定 JpaRepository 的情况下使用 CrudRepository 会变得更加困难..
谢谢
类
CrudRepository
是 Spring Data Commons 项目的一部分,并且 是推荐扩展的接口,无论实际使用的数据存储如何。
CrudRepository
方法返回Iterable
而不是List
(或Set
)的原因是因为某些数据存储允许结果流并且使用Collection
类型会导致此类存储的功能丢失。
JpaRepository extends PagingAndSortingRepository
和
PagingAndSortingRepository extends CrudRepository
。
这允许
JpaRepository
拥有更具体的 Itrable
返回类型,即 List