JpaRepository与CRUDRepository findAll

时间:2015-08-07 15:46:20

标签: spring-data spring-data-jpa

我有一个简单的问题:为什么Resource Type Annotations返回实体列表但JpaRepository返回实体的可执行文件?

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

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

由于

2 个答案:

答案 0 :(得分:25)

无论使用何种实际数据存储,类CrudRepository都是Spring Data Commons projectis the recommended interface to extend的一部分。

CrudRepository方法返回Iterable而非List(或Set)的原因是因为some data stores allow streaming of results并且使用Collection类型会导致这些商店的功能丧失。

答案 1 :(得分:4)

JpaRepository extends PagingAndSortingRepository

PagingAndSortingRepository extends CrudRepository

这允许JpaRepository具有更具体的Itrable返回类型List