每当您有一个扩展 CrudRepository 的存储库时,例如:
@Repository
public interface EmployeeRepository extends CrudRepository<Employee, Long> {
//something
}
并且您想使用该方法findAll()
:
Iterable<T> findAll();
你会得到一个可迭代的。显然,我可以将 Iterable 转换为列表,如下所示:
public List<Employee> findAll() {
List<Employee> employees = new ArrayList<>();
employeeRepository.findAll().forEach(employees::add);
return students;
}
或者我可以覆盖findAll()
存储库上的方法,甚至可以简单地使用JpaRepository
,但我的问题是:
- 首先获得 Iterable 的目的是什么?通过将其转换为列表,我是否违背了使用 CrudRepository 的全部目的?
- 如果确实是将 Iterable 转换为 List 的好方法。实现这一目标的最有效方法是什么?
希望有人能给我一些见解。