用hibernate+spring处理Blob时报错:"Could not create Oracle LOB"
数据源用的commons dbcp.
已经配置了
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" lazy-init="true">
</bean>
<bean id="lobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref local="nativeJdbcExtractor"/>
</property>
</bean>
<!--Hibernate SessionFatory-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="lobHandler" ref="lobHandler"/>
</bean>
大对象在POJO中为 private byte[] content;
在它的hbm配置文件中为:
<property name="content" type="org.springframework.orm.hibernate3.support.BlobByteArrayType" lazy="true">
<column name="CONTENT" />
</property>
新增的方法为:
getHibernateTemplate().save(obj);
结果报这个异常:
org.springframework.dao.DataAccessResourceFailureException: Could not create Oracle LOB; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [class oracle.jdbc.driver.OracleConnection] - specify a corresponding NativeJdbcExtractor