Весь смысл DAO состоит в том, чтобы он абстрагировал доступ к данным от уровня обслуживания, то есть уровень обслуживания не должен знать (или заботиться), поступают ли данные из:
- база
- веб-сервис
- простой текстовый файл
- или где-то еще
Таким образом, задача DAO - преобразовать результаты SQL в (список) DTO.
Если у вас есть один универсальный класс для запросов к базе данных, и он просто возвращает ResultSet
, то этот класс не является DAO. Это вспомогательный класс, который будет использоваться классами DAO.
Кажется, что вы на самом деле пропустили слой доступа к данным, поэтому, чтобы ответить на ваш вопрос:
Как лучше всего вернуть данные из DAO на уровень обслуживания?
Напишите фактические классы DAO, которые возвращают DTO.