Здесь идет вопрос о стиле кодирования SQL-Java ...
Как другие здесь имеют дело с созданием сложных пользовательских запросов в Java cleanly ?
Я говорю о, казалось бы, простой задаче подготовки строки, которая является оператором SQL для выполнения.
Мне известны HQL, а также хранимые процедуры, но, честно говоря, я не очень люблю эти решения. Возможно, я могу быть убежден по-другому. Хранимые процедуры раздражают в развертывании / обслуживании, и производительность синтаксического анализа в моем случае не такая уж большая проблема - гибкость имеет приоритет. HQL кажется большим скачком и имеет некоторые ограничения для моих сложных запросов.
Чтобы быть ясным, я говорю о супер уродливом коде, подобном этому:
return
"(" + topTwenty + ")" +
"UNION " +
"(" + twentyBeforeMe + ")" +
"UNION " +
"(" + meDummyQuery + ")" +
"UNION " +
"(" + twentyAfterMe + ")";
Например, переменные topTwenty также являются подзапросами, созданными аналогичным образом.
Я никогда не думал, что скажу это, но в PHP это было чище, в строку входили многострочные строки и $ переменная.
Люди когда-нибудь использовали тривиальную библиотеку шаблонов? Как вы аккуратно держите строки в программе? Или вы помещаете их в отдельный файл (мне это тоже как-то раздражает).