PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come ottenere una rappresentazione di riga di una tabella generata?

Funzione mancante in jOOQ 3.11

Sembra che manchi una funzione nel generatore di codice jOOQ, un Table.fieldsRow() generato metodo sovrascritto che fornisce una Row[N]<...> più stretta e covariante tipo di ritorno. Ho creato una richiesta di funzionalità per questo, da implementare in jOOQ 3.12:https:// github.com/jOOQ/jOOQ/issues/7809

Manca anche un DSL.rowField(RowN) sovraccarico metodo:https://github.com/jOOQ/jOOQ/issues/7810

Soluzione alternativa, elenca le colonne in modo esplicito

Questa è la soluzione più ovvia, che ovviamente vuoi evitare:elencare esplicitamente tutti i nomi delle colonne:

row(pmu.COL1, pmu.COL2, ..., pmu.COLN)

Soluzione alternativa, utilizza i record generati

C'è già c'è tale metodo generato nei record generati. Come soluzione alternativa, potresti usare

new ProjectMembersUsersRecord().fieldsRow();

Soluzione alternativa, estendi il generatore di codice

Puoi implementare tu stesso #7809 già ora, estendendo il JavaGenerator con una sezione di codice personalizzata:

https://www.jooq.org/doc /latest/manual/code-generation/codegen-custom-code