Механизм запроса DSL в Java для привязки sql во время выполнения

Я ищу библиотеку Java, которая обеспечивает функциональность, подобную Query DSL, против HQL, но только для привязок SQL во время выполнения. В частности, мне просто нужен генератор SQL, чтобы мне не приходилось моделировать соединения, предложения окон и т. д. и т. д.

Схема, к которой нам нужно выполнить запрос, доступна только во время выполнения, поэтому мы не можем построить для нее ORM.

Так, например, я хочу иметь возможность писать:

int count = from("Account").count();

вместо:

string statement = "SELECT COUNT(1) FROM Account";

Было бы полезно, если бы он также поддерживал пункты окна.

Если такой штуки нет, я просто сверну свою.

Заранее спасибо!


person mellocello    schedule 10.08.2015    source источник
comment
Я не уверен, как создание SQL-запросов (включая оконные функции) связано с HQL, но если вы действительно просто ищете конструктор SQL, уже были другие вопросы о переполнении стека: stackoverflow.com/questions/5620985 //a>, stackoverflow.com/questions/370818/, stackoverflow.com/questions/22802323/runtime-sql-query-builder. Почему вы упомянули HQL?   -  person Lukas Eder    schedule 11.08.2015
comment
HQL, потому что это вариант SQL, который я использую.   -  person mellocello    schedule 12.08.2015


Ответы (1)


Это дубликат этого ответа: Построитель запросов SQL во время выполнения

Я предположил, что QueryDSL и JOOQ полагались только на генерацию схемы на основе документации в QueryDSL, но приведенный выше ответ меня правильно понял.

Спасибо Лукас.

person mellocello    schedule 12.08.2015
comment
При ближайшем рассмотрении документации JOOQ видно, что Hive не поддерживается. Мне нужно взглянуть на QueryDSL, чтобы узнать, поддерживает ли он мой вариант использования. Я не верю, что это так, потому что, похоже, он полагается на codegen... - person mellocello; 13.08.2015
comment
Можете ли вы отметить свой ответ как правильный, чтобы показать, что проблема решена? - person Simon; 24.08.2015