java.lang.ClassCastException:oracle.sql.CLOB无法强制转换为oracle.sql.CLOB

我最近升级了一个使用JAVA 7和JBoss 7.1.1运行的应用程序.该应用程序最初是在JAVA 5和Jboss 4.2.2上开发的.此应用程序使用hibernate 3进行持久化.在新平台上,当尝试插入具有上述错误的CLOB字段的表时,应用程序失败....

我最近升级了一个使用JAVA 7和JBoss 7.1.1运行的应用程序.该应用程序最初是在JAVA 5和Jboss 4.2.2上开发的.此应用程序使用hibernate 3进行持久化.

在新平台上,当尝试插入具有上述错误的CLOB字段的表时,应用程序失败.我使用的是ojdbc14.jar(后端数据库Oracle 10.2.0.3)

这些是我在jboss 7.1.1配置中验证的内容:

>为Oracle创建正确的模块.确保ojdbc14.jar存在于正确的modules目录中
>确保jboss目录中的其他任何位置都没有其他冲突的ojdbc.jar
>确保应用程序不是指不同的ojdbc.jar.

任何见解都会有所帮助.我正拉着我的头发试图解决这个问题差不多一个星期了.

非常感谢

解决方法:

我解决了这个问题.发布这个答案,希望它可能对某人有用.

当我检查查询检索到的CLOB的实例类型时,它出现为oracle.sql.CLOB.所以我认为它必定是ojdbc.jar的版本不匹配.我为ojdb.jar的多个副本检查了我的项目数十亿次.没有.

最后它结果是hibernate和ojdbc之间的冲突.我更改了对java.sql.Clob的引用. Hibernate使用java.sql.Clob.这解决了这个问题.

本文标题为:java.lang.ClassCastException:oracle.sql.CLOB无法强制转换为oracle.sql.CLOB

基础教程推荐