java - Combine plain SQL and DSL in SQL query in jOOQ -
i have complex plain sql query (with subselects, multiple joins, database specific functions) use jooq's dsl generating e.g. order clause.
what achieve is:
dsl .using(datasource) .select("select column table") .orderby(dsl.fieldbyname("column"))
which jooq transforming to:
select * (select column table) q order q.column;
can done?
you're close. following possible:
dsl.using(datasource, dialect) .select() .from("(select column table) t") .orderby(dsl.field("t.column"));
you have wrap (and depending on sql dialect, rename) derived table explicitly yourself.
note i'm using dsl.field()
, not dsl.fieldbyname()
, latter produces case-sensitive column
reference. plain sql query have produce case-sensitive column
reference.
Comments
Post a Comment