2013-10-10 2 views
0

C3P0 연결 풀 (com.mchange.v2.c3p0.ComboPooledDataSource c3p0-0.9.1.2.jar)을 사용하려고합니다. 의 Clob (Oracle 데이터베이스)를 보유하는 개체를로드하려고 할 때,하지만 난이 오류가 발생 해요 :

  • $ Proxy78 방법에

사람이 알고 있나요 oracle.sql.CLOB 캐스트 할 수없는 이거 해결해? java.sql.SQLException의 :에 의한

아래로

전체 스택 트레이스는 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) at com.mchange.v2.c3p0.impl.NewPooledConnection.handleThrowable (NewPooledConnection.java:432) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setClob (NewProxyPreparedStatement.java:535) at org.hibernate.type.descriptor.sql.ClobTypeDescriptor $ 2 $ 1.doBind (ClobTypeDescriptor.java:70) at org. hibernate.type.descriptor.sql.ClobTypeDescriptor $ 1 $ 1.doBind (ClobTypeDescriptor.java:56) at org.hibernate.type.descriptor.sql.BasicBinder.bind (BasicBinder.java:91) at org.hibernate.type. AbstractStandardBasicType.nullSafeSet (AbstractStandardBasicType.java:283) org.hibernate.type.AbstractStandardBasicType.nullSafeSet (AbstractStandardBasicType.java:278)에서 org.hibernate.type.ComponentType.nullSafeSet (ComponentType.java:340)에서 조직에서 . hibernate.persister.entity.AbstractEntityPersister.dehydrate (AbstractEntityPe rsister.java:2184) at org.hibernate.persister.entity.AbstractEntityPersister.update (AbstractEntityPersister.java:2559) ... 71 추가 원인 : java.lang.ClassCastException : com.sun.proxy. com.mchange에서 oracle.jdbc.driver.OraclePreparedStatementWrapper.setClob (OraclePreparedStatementWrapper.java:158) 에서 oracle.jdbc.driver.OraclePreparedStatement.setClob (OraclePreparedStatement.java:6559) 에서 oracle.sql.CLOB 으로 캐스팅 될 수있다. v2.c3p0.impl.NewProxyPreparedStatement.setClob (NewProxyPreparedStatement.java:521) ... 79

답변

0

그래서,이 홀수 하나 이상의. c3p0은 CLOB를 프록시하지 않습니다. 어떻게 든 CLOB는 Java 표준 동적 프록시 뒤에 래핑되었습니다. 그 일이 어떻게 일어 났는지 알아 내야 할 것입니다. 프록시 된 CLOB 오브젝트는 어디에서 왔습니까?

최대 절전 모드가 때때로 프록시 CLOB 인 것처럼 보입니다 (ClobProxy 참조). 어쩌면 이것이 당신이 당신의 드라이버가 기대하는 일종의 CLOB가 아닌 프록시를 갖는 이유일까요?