休眠升级:java.lang.ClassCastException:无法将java.lang.String强制转换为java.lang.Character

时间:2019-01-06 19:30:52

标签: java hibernate

将休眠版本从3.2升级到4.3后,ClassCastException发生在我的应用程序中的几个地方。

  

java.lang.ClassCastException:无法将java.lang.String强制转换为java.lang.Character       在org.hibernate.type.descriptor.java.CharacterTypeDescriptor.unwrap(CharacterTypeDescriptor.java:33)       在org.hibernate.type.descriptor.sql.VarcharTypeDescriptor $ 1.doBind(VarcharTypeDescriptor.java:64)       在org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:90)

我的配置:

  • 数据库中列的类型为:VARCHAR2(1 BYTE)
  • 实体中的字段类型为:char

在xml版本中如何查看我的映射:

<property name="typeCode" type="char" not-null="true">
    <column name="TYPE_CODE" length="1" />
</property>

我试图使用sql-type属性修复此问题,但没有帮助。我还检查了Oracle 10的sql方言,但没有看到版本3.2和4.3之间的重要变化。我不会在数据库或应用程序中进行更改。这是一个很大的旧系统,我想将错误的风险和升级所需的工作降至最低。感谢您的帮助!

0 个答案:

没有答案