【发布时间】:2020-08-04 17:36:57
【问题描述】:
我们需要使用 Spring data jpa 从 SQL Server 检索数据。
由于我们有数百万条记录,我们无法一次请求加载所有数据。是否可以使用本机查询进行流式传输?
【问题讨论】:
标签: sql-server hibernate spring-boot spring-data-jpa spring-data
我们需要使用 Spring data jpa 从 SQL Server 检索数据。
由于我们有数百万条记录,我们无法一次请求加载所有数据。是否可以使用本机查询进行流式传输?
【问题讨论】:
标签: sql-server hibernate spring-boot spring-data-jpa spring-data
是的,您可以让您的查询方法在 Spring Data JPA 中返回一个 Stream 类型,并且仍然使用本机查询:
@Query(value = "YOUR QUERY", nativeQuery = true)
Stream<YourRecordType> findAllRecords();
按照 Spring Data JPA 文档中的建议,一旦您完成使用 Stream 资源,请记住关闭它:
流可能会包装底层数据存储特定的资源 因此,必须在使用后关闭。您可以手动 使用 close() 方法或使用 Java 7 关闭 Stream try-with-resources 块 (...)
【讨论】: