Чтобы прочитать все элементы (с одной операцией чтения, если они все подходят), вызовите .list()
по запросу, чтобы получить List<Finders>
. Вместо этого вы выбрали итерацию по запросу, и это вполне вероятно, что вы не будете полагаться на один, возможно, огромный, который читается из хранилища данных, но детали посылки больше.
В каких проекциях ввести изображение совсем другое: если у вас есть объекты с полями или некоторые очень большие поля, и в определенном случае вы знаете, что вам нужно только определенное подмножество полей (особенно если это не требуется «некоторые очень большие поля»), то проекция - очень мудрая идея, потому что она избегает чтения вещей, которые вам не нужны.
Это делает более вероятным то, что определенная выборка (например, 10 сущностей) займет одно чтение данных - есть байт-лимиты на то, сколько может исходить из одного хранилища данных, поэтому, если путем тщательного выбора и выбора поля, на которые вы действительно нуждаетесь, вы читаете только (скажем) 10 тыс. на объект, а не (скажем) 500 тыс. на сущность, то, очевидно, вам может потребоваться меньше чтений из хранилища данных.
Но если вы не делаете одного большого массива, прочитанного с .list()
, но сущность по-сущности, читаемая итерацией, то, скорее всего, вы все равно получите несколько чтений - по существу, путем повторения, вы сказали вы хотите это! -)
Я ничего не знаю об объективизации, но я считаю, что вы можете либо получить результаты в виде списка, либо установить скорость запроса (пакетной) в запросе. Вы можете обнаружить, что итерация извлекает каждый результат в виде отдельных операций. –
@TimHoffman. Моя основная задача - получить все элементы с одной операцией чтения. Поэтому я хотел использовать проекционный запрос. –