> Is there a way to programmatically scope the id field on a and b in order to
> produce the join?

In general, that's what the Table.getField() methods are for. If the
table is aware of the fields it contains, you can get a new "scoped"
field with the scope of the relevant table alias "a" or "b", to
produce "a"."ID" or "b"."ID". However, this doesn't work with
tableByName (I wonder if there would be a way to enhance jOOQ for it
to work?)

The best approach for you might be to re-create those artefacts that
are generated by jOOQ. You don't have to generate them, you can create
them on-the-fly. In essence, tables extend TableImpl
(http://www.jooq.org/javadoc/latest/org/jooq/impl/TableImpl.html) and
fields within a table are created using createField (
http://www.jooq.org/javadoc/latest/org/jooq/impl/TableImpl.html#createField%28java.lang.String,%20org.jooq.DataType,%20org.jooq.Table%29
).

Beware though, that using jOOQ's internals may lead to issues when
upgrading in the future.

Reply via email to