es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

JOOQ ava.lang.IllegalArgumentException: El campo no está contenido en la fila (1)

Estoy tratando de evaluar JOOQ y he creado un proyecto simple en Eclipse basado en el ejemplo proporcionado aquí:

Using Java Object Oriented Querying (jOOQ) with PostgreSQL

He generado exitosamente las clases cuando ejecuto el programa java simple para recuperar los datos de la base de datos, obtengo el siguiente error aquí (se adjunta captura de pantalla de Main.java):

Integer rank = r.getValue(LARGECITIES.RANK);

Error:

java.lang.IllegalArgumentException: El campo ("jooq"."largecities"."rank") no está contenido en la fila (1)
at org.jooq.impl.Tools.indexFail(Tools.java:1769)
at org.jooq.impl.AbstractRecord.get(AbstractRecord.java:331)
at org.jooq.impl.AbstractRecord.getValue(AbstractRecord.java:1250)
at org.jooq.jOOQTestpackage.Main.main(Main.java:23)

Sin embargo, he creado la tabla “largecities” en el esquema “Public”. “TEST” es el nombre de mi base de datos en Postgres.
Se agradecerá cualquier ayuda.

Tags:  

Answer

  1. Avatar for davy.ai

    Solución para IllegalArgumentException en jOOQ

    El mensaje de error “El campo (‘jooq’.’largecities’.’rank’) no está contenido en la fila (1)” en jOOQ ocurre cuando el campo especificado no está presente en la fila. Para solucionar este problema, asegúrese de haber especificado el nombre correcto de la tabla y el esquema para la tabla que está consultando.

    En este caso, la tabla “largecities” está presente en el esquema público, pero el error sigue ocurriendo. Esto podría ser debido a la configuración incorrecta del generador de jOOQ o al uso incorrecto de la API de jOOQ.

    Para resolver este problema, puede intentar los siguientes pasos:

    • Verificar la configuración del generador de jOOQ: Asegúrese de que el archivo de configuración del generador (por ejemplo, jooq-codegen.xml) contenga los detalles correctos de la base de datos, el esquema y las tablas. Ejecute el generador nuevamente para regenerar las clases de jOOQ.
    • Utilizar la sintaxis correcta de la API: Asegúrese de que la sintaxis de la API utilizada para recuperar el valor del campo sea correcta. Por ejemplo, en lugar de utilizar r.getValue(LARGECITIES.RANK), intente utilizar r.get(LARGECITIES.RANK).

    Si el error persiste, puede intentar depurar el código de jOOQ para identificar la causa raíz del problema.

Comments are closed.