getExpectedJdbcType
MySQL-specific deviations from the default type mapping:
INT UNSIGNEDdoes not fit anInt(0 .. 2^32 - 1), so it is read asLong, andBIGINT UNSIGNEDdoes not fit aLong(0 .. 2^64 - 1), so it is read asjava.math.BigInteger. The driver returns exactly those types for them.A multi-bit
BIT(M)column is read asByteArray, because that is what the driver returns for it while reportingjava.lang.Booleanas the column class — seeisMultiBitand #2087.
Everything else falls through to DbType.getExpectedJdbcType.