Нет, я бы так не поступил.
Звучит так, будто вы хотите смоделировать отношения один-ко-многим, поэтому вы надеетесь использовать внутренний DAO для получения множества объектов, а затем отобразить их в один.
Сопротивляйся этому искушению.
Ваш код говорит вам, почему:
- Внешний цикл возвращает N объектов с отношением один ко многим.
- Внутренний цикл запрашивает один раз для каждого из N объектов и возвращает его зависимости.
Классическая ошибка запроса Noob N + 1. Задержка в сети убьет вас за большие N.
Правильнее всего сделать один запрос, который вернет все ваши данные за один раз и отобразит их в объект (ы).
Возможно, подойдет инструмент ORM, такой как Hibernate. Если у вас много отношений 1: m, я бы поспорил, что Hibernate будет лучше или эффективнее генерировать эффективный SQL, чем вы.