В целом я хочу понять каким образом мне из базы вытащить объект или список объектов (аггрегатов) с его зависимостями , чтобы потом с ним работать и можно ли это сделать без сотни запросов в базу? DDD же подразумевает то, что может быть ситуация, когра у тебя есть какая-то коллекция аггрегатов, которую нужно обработать какой-то бизнесс-логикой.
Если нужен конкретный пример то например есть список подписок (агрегатов) на какой-то условный youtube-premium и у этих подписок есть транзакции (успешные/неуспешные) и каждая из успешных транзакция продлевает подписку на месяц. И потом начинается всякая-разная бизнес-слогика связанная с тем, что нужно продлевать подписку какие-то транзакции не прошли и нужно подписку отменить. где-то пользователь пользовался примиумом и решил перейти на премиум+, но переход произошел неудачно и нужно откатить изменения на старый тариф с восстановлением дат транзакций и т.д. и этой логики может быть очень много...
И все это упирается в то, что тебе из базы нужно получать массив ОБЪЕКТОВ аггрегатов и работать с ними. И я пока не вижу другого пути как получать список Root-классов аггрегата, а потом отдельными запросами получать их зависимости.
Или делать RAWSQL джойны и потом маппить полученный массив колонок ручками на класс-аггрегата.