PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como obter uma representação de linha de uma tabela gerada?

Recurso ausente no jOOQ 3.11


Parece haver um recurso ausente no gerador de código jOOQ, um Table.fieldsRow() gerado método substituído que fornece um Row[N]<...> mais estreito e covariante tipo de retorno. Criei uma solicitação de recurso para isso, para ser implementado no jOOQ 3.12:https:// github.com/jOOQ/jOOQ/issues/7809

Também está faltando um DSL.rowField(RowN) sobrecarregado método:https://github.com/jOOQ/jOOQ/issues/7810

Solução alternativa, liste colunas explicitamente


Esta é a solução mais óbvia, que você obviamente quer evitar:Listando todos os nomes de colunas explicitamente:
row(pmu.COL1, pmu.COL2, ..., pmu.COLN)

Solução alternativa, use registros gerados


Já existe existe tal método gerado em registros gerados. Como solução alternativa, você pode usar
new ProjectMembersUsersRecord().fieldsRow();

Solução alternativa, estenda o gerador de código


Você já pode implementar o #7809 agora, estendendo o JavaGenerator com uma seção de código personalizada:

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