Собственные запросы поддерживают поток данных Spring jpa для SQL Server - PullRequest
1 голос
/ 21 апреля 2020

Нам нужно извлечь данные с сервера SQL, используя Spring data jpa.

Поскольку у нас есть миллионы записей, мы не можем загрузить все данные за один запрос. Возможно ли потоковое воспроизведение с использованием собственных запросов?

1 Ответ

0 голосов
/ 22 апреля 2020

Да, вы можете сделать так, чтобы ваш метод запроса возвращал тип Stream в Spring Data JPA и по-прежнему использовал собственные запросы:

@Query(value = "YOUR QUERY", nativeQuery = true)
Stream<YourRecordType> findAllRecords();

Помните, чтобы закрыть ресурс Stream, как только вы закончили sh потребление из него, как рекомендовано в документах Spring Data JPA:

Поток потенциально оборачивает базовые ресурсы хранилища данных c и поэтому должен быть закрыт после использования. Вы можете вручную закрыть поток с помощью метода close () или с помощью блока Java 7 try-with-resources (...)

Вот соответствующие документы и пример .

...