sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo convertir una matriz 2d de PostgreSQL DB a una matriz java 2d usando JDBI?

Es hora de aprender qué significan los nombres de los tipos de matrices de Java .

[ es array-of . Entonces [[ es array-of array-of, es decir, ambos nombres de tipo son matrices bidimensionales.

L indica un tipo de referencia, seguido del nombre de la clase.

C es el tipo primitivo char .

Así que aquí, vemos que está intentando convertir una matriz bidimensional de java.lang.String a una matriz bidimensional de char . Eso no tiene ningún sentido. Parece que JDBI asigna el tipo de datos de Java char a un tipo de cadena SQL como character o character varying , (compruébelo consultando la tabla en la base de datos). Si es así, el controlador JDBC lo devolverá desde la base de datos como java.lang.String .

Por lo tanto, debe anular esa asignación para usar el tipo de datos de la base de datos "char" - un solo carácter - o, más simplemente, afirmar que las cadenas tienen un carácter de longitud y desempaquetarlas en un carácter. Así que tendrás que copiar las matrices.