PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erhalte ich eine Zeilendarstellung einer generierten Tabelle?

Fehlende Funktion in jOOQ 3.11

Es scheint eine fehlende Funktion im jOOQ-Codegenerator zu geben, eine generierte Table.fieldsRow() überschriebene Methode, die eine schmalere, kovariante Row[N]<...> bereitstellt Rückgabetyp. Ich habe dafür eine Funktionsanfrage erstellt, die in jOOQ 3.12 implementiert werden soll:https:// github.com/jOOQ/jOOQ/issues/7809

Außerdem fehlt ein überladenes DSL.rowField(RowN) Methode:https://github.com/jOOQ/jOOQ/issues/7810

Workaround, Spalten explizit auflisten

Dies ist die naheliegendste Problemumgehung, die Sie offensichtlich vermeiden möchten:Alle Spaltennamen explizit auflisten:

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

Workaround, verwenden Sie generierte Datensätze

Es ist bereits vorhanden eine solche generierte Methode in generierten Datensätzen. Als Problemumgehung könnten Sie

verwenden
new ProjectMembersUsersRecord().fieldsRow();

Workaround, Codegenerator erweitern

Sie können #7809 bereits jetzt selbst implementieren, indem Sie den JavaGenerator erweitern mit einem benutzerdefinierten Codeabschnitt:

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