Je čas zjistit, co znamenají názvy typů polí Java .
[
je array-of
. Takže [[
je pole-of pole-of, tj. oba názvy typů jsou 2-d pole.
L
označuje typ odkazu, za nímž následuje název třídy.
C
je primitivní typ char
.
Zde tedy vidíme, že se pokoušíte přetypovat dvourozměrné pole java.lang.String
na dvourozměrné pole char
. To nedává smysl. Vypadá to, že JDBI mapuje datový typ Java char
na typ řetězce SQL, jako je character
nebo character varying
, (ověřte kontrolou v tabulce v databázi). Pokud ano, ovladač JDBC to vrátí z databáze jako java.lang.String
.
Musíte tedy toto mapování buď přepsat, aby používal datový typ databáze "char"
- jeden znak - nebo jednodušeji tvrdit, že řetězce jsou dlouhé jeden znak a rozbalit je do znaku. Takže budete muset zkopírovat pole.