sql >> Database >  >> RDS >> PostgreSQL

Hoe krijg ik een rijweergave van een gegenereerde tabel?

Ontbrekende functie in jOOQ 3.11

Er lijkt een functie te ontbreken in de jOOQ-codegenerator, een gegenereerde Table.fieldsRow() overschreven methode die een smallere, covariante Row[N]<...> . geeft soort retour. Ik heb hiervoor een functieverzoek gemaakt, te implementeren in jOOQ 3.12:https:// github.com/jOOQ/jOOQ/issues/7809

Ook ontbreekt een overbelaste DSL.rowField(RowN) methode:https://github.com/jOOQ/jOOQ/issues/7810

Tussenoplossing, kolommen expliciet vermelden

Dit is de meest voor de hand liggende oplossing, die u natuurlijk wilt vermijden:Alle kolomnamen expliciet vermelden:

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

Tussenoplossing, gebruik gegenereerde records

Er is al is een dergelijke gegenereerde methode in gegenereerde records. Als tijdelijke oplossing kunt u gebruiken

new ProjectMembersUsersRecord().fieldsRow();

Tussenoplossing, breid de codegenerator uit

U kunt #7809 nu al zelf implementeren door de JavaGenerator . uit te breiden met een aangepaste codesectie:

https://www.jooq.org/doc /laatste/handleiding/code-generatie/codegen-custom-code




  1. Caching van tijdelijke objecten van SQL Server

  2. subquery retourneert meer dan één rij

  3. FOUT 2003 (HY000):Kan geen verbinding maken met MySQL-server op '127.0.0.1' (111)

  4. de waarde uit de kolom halen, maar null retourneren?