Я действительно не вижу другого пути.Остальные параметры просто дрянные:
- использует класс, содержащий все возможные поля, и заполняет только те, которые вы выбрали (остальные остаются с нулем): как вызывающий код узнает, какие поля заполненыа какие нет?Это станет кошмаром обслуживания
- используйте Карту для хранения всего: еще хуже: вы не знаете, что может быть на карте, и код будет полон приведений.
Если у вас есть 5 вариантов использования, каждый из которых имеет свое представление о том, что содержит Foo
, вам придется создать 5 различных Foo
DTO.
Действительно ли необходимо выбрать только некоторые изполя?Не могли бы вы использовать один и тот же класс сущностей для всех вариантов использования?Это проблема с производительностью?Если да, то измеряли ли вы проблему с производительностью?В большинстве случаев для выполнения запроса требуется время, поскольку для поиска возвращаемых данных требуется время, а не из-за объема возвращаемых данных.Убедитесь, что вы не оптимизировали преждевременно.