gpt4 book ai didi

spring - 如何使用 Spring Data Repositories 处理大量数据?

转载 作者:IT老高 更新时间:2023-10-28 13:49:22 26 4
gpt4 key购买 nike

我有一个大表,我想通过 Spring Data Repository 访问它。

目前,我正在尝试扩展 PagingAndSortingRepository 接口(interface),但似乎我只能定义返回列表的方法,例如:

public interface MyRepository extends 
PagingAndSortingRepository<MyEntity, Integer>
{
@Query(value="SELECT * ...")
List<MyEntity> myQuery(Pageable p);
}

另一方面,PagingAndSortingRepository 附带的 findAll() 方法返回一个 Iterable (我认为数据不是加载到内存中)。

是否可以定义同时返回 Iterable 和/或不一次将所有数据加载到内存中的自定义查询?

有没有其他方法可以处理大表?

最佳答案

这里有经典的咨询答案:视情况而定。由于该方法的实现是特定于存储的,因此我们依赖于底层存储 API。在 JPA 的情况下,没有机会提供流式访问,因为 ....getResultList() 返回一个 List。因此,我们还将 List 暴露给客户端,因为 JPA 开发人员可能习惯于使用列表。所以对于 JPA,唯一的选择是使用分页 API。

对于像 Neo4j 这样的商店,我们支持流式访问,因为存储库在 CRUD 方法以及 finder 方法的执行上返回 Iterable

关于spring - 如何使用 Spring Data Repositories 处理大量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15231830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com