Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ComboPooledDataSource-com.sun.proxy.$Proxy78不能强制转换为oracle.sql.CLOB_Java_Hibernate_Connection Pooling_C3p0 - Fatal编程技术网

Java ComboPooledDataSource-com.sun.proxy.$Proxy78不能强制转换为oracle.sql.CLOB

Java ComboPooledDataSource-com.sun.proxy.$Proxy78不能强制转换为oracle.sql.CLOB,java,hibernate,connection-pooling,c3p0,Java,Hibernate,Connection Pooling,C3p0,我正在尝试使用C3P0连接池(com.mchange.v2.C3P0.ComboPooledDataSource C3P0-0.9.1.2.jar),但在尝试加载包含Clob(Oracle数据库)的对象时收到此错误: $Proxy78无法强制转换为oracle.sql.CLOB 有人知道如何解决这个问题吗 完整堆栈跟踪如下所示 引发原因:java.sql.SQLException:由 以下失败:java.lang.ClassCastException: com.sun.proxy.$Prox

我正在尝试使用C3P0连接池(com.mchange.v2.C3P0.ComboPooledDataSource C3P0-0.9.1.2.jar),但在尝试加载包含Clob(Oracle数据库)的对象时收到此错误:

  • $Proxy78无法强制转换为oracle.sql.CLOB
有人知道如何解决这个问题吗

完整堆栈跟踪如下所示

引发原因:java.sql.SQLException:由 以下失败:java.lang.ClassCastException: com.sun.proxy.$Proxy78不能强制转换为oracle.sql.CLOB 位于com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106) 位于com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65) 位于com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62) 在com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable(NewPooledConnection.java:432)上 在com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setClob(NewProxyPreparedStatement.java:535) 位于org.hibernate.type.descriptor.sql.ClobTypeDescriptor$2$1.doBind(ClobTypeDescriptor.java:70) 位于org.hibernate.type.descriptor.sql.ClobTypeDescriptor$1$1.doBind(ClobTypeDescriptor.java:56) 位于org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:91) 位于org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:283) 位于org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:278) 位于org.hibernate.type.ComponentType.nullSafeSet(ComponentType.java:340) 位于org.hibernate.persister.entity.AbstractEntityPersister.deterhymate(AbstractEntityPersister.java:2184) 位于org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2559) ... 71更多原因:java.lang.ClassCastException:com.sun.proxy.$Proxy78无法强制转换为oracle.sql.CLOB 位于oracle.jdbc.driver.OraclePreparedStatement.setClob(OraclePreparedStatement.java:6559) 位于oracle.jdbc.driver.OraclePreparedStatementWrapper.setClob(OraclePreparedStatementWrapper.java:158) 在com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setClob(NewProxyPreparedStatement.java:521) ... 79多


所以,这是一个奇怪的问题。c3p0不代理CLOB。不知何故,您得到的CLOB被包装在Java标准动态代理之后。你需要弄清楚这是怎么发生的。您的代理CLOB对象来自哪里

看起来hibernate有时会代理CLOB,请参阅。也许这就是为什么您有一个代理,而不是您的驱动程序所期望的那种CLOB