Есть один трюк, который вы можете использовать, чтобы избежать параметров конвертера.Если вы вернетесь к более старому подходу к пользовательскому конвертеру в Dozer, который реализует интерфейс CustomConverter, вы получите два дополнительных параметра: существующиеDestinationValue и destinationClass.
convert(Object existingDestinationFieldValue, Object sourceFieldValue, Class<?> destinationClass, Class<?> sourceClass)
Используя эти значения, вы можете проанализировать поле назначения через отражениеи знать, какова ожидаемая конкретная реализация интерфейса Loadable.Это работает, только если вы определяете типы полей с конкретными типами, конечно.Но у вас уже есть это в вашем примере, так что это не должно быть проблемой.Реализация CustomConverter будет более многословной, поскольку вам нужно определить направление отображения вручную, но она дает вам полный контроль над тем, что происходит во время процесса отображения.