На самом деле я не уверен, понял ли я ваш подход.В типичных сценариях клиент / сервер с уровнями персистентности клиент (1) вызывает удаленный метод, этот (2) запускает операцию базы данных, а служба (3) отвечает запрошенными объектами.
В вашем сценариипохоже, что сервер читает данные из базы данных, кэширует их и ждет, пока клиенты запросят куски.
Если я правильно понял, и сервер кэширует объекты базы данных, то он должен преобразовать данные из результирующего набора.в объектах я бы предпочел коллекцию или карту для хранения «строк».Набор результатов является довольно хрупкой структурой данных - как некоторые наборы результатов не поддерживают повторное чтение записей набора (= вы не можете повторять дважды).Я всегда брал данные из набора и закрывал их как можно скорее.