QueryDSL: можно ли динамически добавлять поля в оператор SELECT? - PullRequest
0 голосов
/ 03 апреля 2019

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

Моя цель - передать список столбцов в QueryDSL и добавить их в оператор SELECT.Для этого потребуется создать новый объект, затем добавить его в оператор SELECT и повторить для каждого столбца в списке.

Из документации не похоже, что я могу добавить дополнительные столбцы в оператор SELECT послеэто было воплощено.Я смог создать оператор SELECT только один раз;любые дополнительные операторы SELECT переопределяют предыдущий.

QDRnccell rnccell = new QDRnccell("rnccell");
FTnn0000xxx t032 = new QFTnn0000xxx("t032");
StringPath cellname = Expressions.stringPath(rnccell, "cellname");

SQLQuery sqlQuery = new SQLQuery(conn, configuration);
sqlQuery
    .select(t032.starttime,
        t032.cyyy.as("tp_0"),
        t032.czzz.as("tp_1"))
    .from(t032);

Я надеялся добавить дополнительные столбцы в оператор select после создания sqlQuery, но, как упоминалось ранее, он просто перезаписывается.

...