Подтвердить что ты не робот

JpaRepository vs CRUDRepository findAll

У меня есть простой вопрос: почему JpaRepository возвращает список сущностей, но CrudRepository возвращает Итерабельность объектов?

Это сделано специально? Я предполагаю, потому что CrudRepository является более общим интерфейсом, и может существовать определенный репозиторий, который возвращает Iterable.

Сложнее использовать CrudRepository без использования конкретного JpaRepository..

Спасибо

4b9b3361

Ответ 1

Класс CrudRepository является частью проекта Spring Data Commons и является рекомендуемым интерфейсом для расширения независимо от фактического используемого хранилища данных.

Причина, по CrudRepository методы CrudRepository возвращают Iterable а не List (или Set), заключается в том, что некоторые хранилища данных допускают потоковую передачу результатов, а использование типа Collection может привести к потере функциональности таких хранилищ.

Ответ 2

JpaRepository extends PagingAndSortingRepository

и PagingAndSortingRepository extends CrudRepository.

Это позволяет JpaRepository иметь более конкретный тип возврата Itrable, который равен List