Dags att lära sig vad Java-arraytypnamn betyder .
[
är array-of
. Så [[
är array-of array-of, dvs båda typnamnen är 2-d arrays.
L
indikerar en referenstyp, följt av klassnamnet.
C
är den primitiva typen char
.
Så här ser vi att du försöker gjuta tvådimensionell array av java.lang.String
till en tvådimensionell array av char
. Det är ingen mening. Det ser ut som att JDBI mappar Java-datatypen char
till en SQL-strängtyp som character
eller character varying
, (verifiera genom att kontrollera tabellen i databasen). Om så är fallet kommer JDBC-drivrutinen att returnera det från databasen som java.lang.String
.
Så du måste antingen åsidosätta den mappningen för att använda databasdatatypen "char"
- ett enda tecken - eller, enklare, hävda att strängarna är ett tecken långa och packa upp dem till en karaktär. Så du måste kopiera arrayerna.