@Xveeder

Корректно ли генерировать SQL без использования query-builder?

Всем привет!

Опишу вопрос на примере: есть необходимость отфильтровать данные по ряду полей (при том, поля опциональны). Условно, есть 5 полей, но фильтрация может понадобиться по нескольким из них.

Очевидно, что такая задача требует динамической генерации, if'ов и прочего. Я видел примеры, как это делается через query-builder, но мне больше нравится писать чистые sql-запросы и через prepared-statement просовывать данные в плейсхолдеры.

Вопрос: насколько корректно использовать чистый SQL при динамической генерации запроса? Как мне кажется, сам запрос читабельнее, если он прописан нативно, а не через конструкции языка.
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Да. Корректно. Но если вы не пользуетесь билдером то вам придется вручную отслеживать открывающие и закрывающие скобки в тек местах где есть приоритет и вручную форматировать отступы и переносы если есть такое требование. Тоесть в какой-то момент времени сложность кодогенерации перейдет с билдера в ваш рукотворный код и вам эту сложность также придется поддерживать и объяснять ее происхождение коллегам.

Кстати на каком языке вы разрабатываете? Для Java есть готовые билдеры в QueryDSL, JooQ.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы