Итак, я наконец-то обнаружил, что вы можете указать ограничение длины для типа в диалекте. Итак, я решил, что все, что меньше 10, должно быть char, а что-либо, кроме varchar:
registerColumnType( Types.VARCHAR, 10, "char($l)" );
Это не совсем то, чего я хотел, но этого достаточно. Грустно, что я не нашел этого раньше.