Нужна дополнительная информация. Стол двухместный? Я не знаком с Oracle, но это тип с плавающей запятой? К какому типу java.sql.Types
это относится? Вы можете увидеть отображение java.sql.Types
в базу данных в классе диалектов для вашей базы данных. В этом случае это org.hibernate.dialect.Oracle10gDialect
(что расширяет 9i и 8i). Похоже, у вас есть
registerColumnType( Types.DOUBLE, "double precision" );
Таким образом, таблица должна быть определена как double precision
, а класс java должен быть определен как нечто, что будет отображаться в Types.Double
, обычно double
.
Из сообщения об ошибке похоже, что ваша таблица определена как float
, которая будет использовать это отображение
registerColumnType( Types.FLOAT, "float" );
, для которого ожидаемый тип Java будет чем-то, что отображается на Types.FLOAT
, обычно float
; одно значение точности.
Самое простое, что нужно сделать - это изменить таблицу или класс Java, чтобы он соответствовал. Кроме того, вы можете указать тип пользователя, который будет отображать значение с одинарной точностью в значение с двойной точностью; Я не могу вспомнить, почему вы действительно захотите это сделать, но, может быть, если бы у вас не было контроля над классом и столом, что довольно редко, я бы подумал.
НТН.