【问题标题】:Native queries support Spring data jpa stream for SQL Server本机查询支持 SQL Server 的 Spring 数据 jpa 流
【发布时间】:2020-08-04 17:36:57
【问题描述】:

我们需要使用 Spring data jpa 从 SQL Server 检索数据。

由于我们有数百万条记录,我们无法一次请求加载所有数据。是否可以使用本机查询进行流式传输?

【问题讨论】:

    标签: sql-server hibernate spring-boot spring-data-jpa spring-data


    【解决方案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 块 (...)

    这里是相关的docsexample

    【讨论】:

    • 我的实际问题是当我使用本机查询从 sql server 检索时是否支持
    • 是的,如果您使用 Hibernate 作为您的 JPA 提供程序,您可以从 SQL 服务器检索(包括本机查询)。 Here 是 Hibernate 支持的数据库方言的完整列表。
    • 感谢您的回复..这回答了我的问题
    猜你喜欢
    • 2015-04-11
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多