Spring内置提供的NativeJdbcExtractor转换器

近来对一个项目进行维护

发现其之前用的是WebSphere,我准备将其更改到Tomcat上

于是悲剧开始上演。各种配置,各种报错。


createBeanException

原来是使用的WebSphereNativeJdbcExtractor现改为其它连接方式,则需要更改。

详细参考:

在spring里 插入 BLOB字段
kp.setContent(content.getBytes()); 
方法 :hibernate saveOrUpdate


Caused by: java.lang.ClassNotFoundException: oracle.sql.BLOB。
       使用tomcat 没问题。
       可服务器改为 WebSphere .就报错。

把Spring内置提供的NativeJdbcExtractor转换器 改了一下,结果:问题解决。
———————————————————————————————————————————————————————
总结如下:
      1、对于我们的工程:
           在发布环境中,要将nativeJdbcExtractor  换成             org.springframework.jdbc.support.nativejdbc.WebSphereNativeJdbcExtractor
留意log4j日志,此时的blob字段的java类型为oracle.sql.Blob
      2、Spring内置提供的NativeJdbcExtractor转换器有:
          C3P0NativeJdbcExtractor
          CommonsDbcpNativeJdbcExtractor
          JBossNativeJdbcExtractor
          NativeJdbcExtractor
          NativeJdbcExtractorAdapter
          SimpleNativeJdbcExtractor
          WebLogicNativeJdbcExtractor
          WebSphereNativeJdbcExtractor
          XAPoolNativeJdbcExtractor
          要根据不同服务器及时修改,以免浪费大量时间。
          位于org\springframework\jdbc\support\nativejdbc下



REFERENCES:http://windring.iteye.com/blog/108171

你可能感兴趣的:(spring,tomcat,Hibernate,log4j,c3p0,websphere)