本机查询支持 SQL Server 的 Spring 数据 jpa 流
Posted
技术标签:
【中文标题】本机查询支持 SQL Server 的 Spring 数据 jpa 流【英文标题】:Native queries support Spring data jpa stream for SQL Server 【发布时间】:2020-08-04 17:36:57 【问题描述】:我们需要使用 Spring data jpa 从 SQL Server 检索数据。
由于我们有数百万条记录,我们无法一次请求加载所有数据。是否可以使用本机查询进行流式传输?
【问题讨论】:
【参考方案1】:是的,您可以让您的查询方法在 Spring Data JPA 中返回一个 Stream 类型,并且仍然使用本机查询:
@Query(value = "YOUR QUERY", nativeQuery = true)
Stream<YourRecordType> findAllRecords();
按照 Spring Data JPA 文档中的建议,一旦您完成使用 Stream 资源,请记住关闭它:
流可能会包装底层数据存储特定的资源 因此,必须在使用后关闭。您可以手动 使用 close() 方法或使用 Java 7 关闭 Stream try-with-resources 块 (...)
这里是相关的docs 和example。
【讨论】:
我的实际问题是当我使用本机查询从 sql server 检索时是否支持 是的,如果您使用 Hibernate 作为您的 JPA 提供程序,您可以从 SQL 服务器检索(包括本机查询)。 Here 是 Hibernate 支持的数据库方言的完整列表。 感谢您的回复..这回答了我的问题以上是关于本机查询支持 SQL Server 的 Spring 数据 jpa 流的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft SQL Server查询分析器不能与本机连接?