Hibernate4.x升级问题处理

问题描述:

升级为Hibernate 4.x 保存clob字段时,在使用JUNIT测试使用ojdbc6.jar正常保存,事务正常提交。但是在使用Tomcat数据连接池进行保存是就出现了如下异常:

Caused by: java.lang.AbstractMethodError: org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
	at org.hibernate.type.descriptor.sql.ClobTypeDescriptor$4$1.doBind(ClobTypeDescriptor.java:114)
	at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:93)
	at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
	.....

环境描述:

  1. java version "1.6.0_43"

  2. Oracle Database 10g Enterprise Edition Release 10.2.0.4.0

  3. apache-tomcat-6.0.37

  4. hibernate-4.2.6.Final

  5. spring-3.2.4.RELEAS

解决办法:

  1. 使用ojdbc6.jar驱动

  2. 修改Hibernate全局参数 hibernate.jdbc.use_streams_for_binary=true

  3. 使用@Lob注解

  4. 替换Tomcat 6.x 中的 lib/tomcat-dbcp.jar 为Tomcat7.x中的。

你可能感兴趣的:(tomcat,Hibernate,DBCP,4.x,ojdbc)