Суть в том, что мы не очень понимаем как их возвоащать
У нас сущности являются доменными моделями, а значит свои данные должны хранить в доменном виде. Но значения своих словаре они хранят в виде числе с id-значения справочника, в то время как везде от них требуются объекты справочника, с именами, настройками, типами и т.д. Это сильно дублирует код Да и вобще от DictionaryFetcher .
Необходимо сделать так, чтобы сущности отдавали уже готовый объект DictionaryItem или производные от него. Если что id из него получить то же можно. Вероятно для решения надо будет завести типы доктрины на каждый вид справочника, чтобы модель гидрировалась сразу как надо. не работает DoctrineType, он знает только о примитиве, но не об объекте из которого собирается
На работе у нас написали пару кастомных гидраторов, и они могут быть решением и для наших сущностей, со значением справочников в БД, но объектом в сущности. Судя по коду, они как раз для этого, единственное что добавляются не в описании сущности, а в методах выборки сущности в репозиториях. Впрочем их можно переорпеделить в наших кастомных репозиториях (или treat)
https://www.doctrine-project.org/projects/doctrine-laminas-hydrator/en/3.7/basic-usage.html