我GOOGLE了很多,並沒有發現工作問題...在我的網絡應用程序中,我需要使用AJAX上傳大文件。我使用ajaxfileupload插件。在我的FormBean I類映射文件的InputStream:休眠+ Oracle 11.2 + BLOB
private InputStream fileData;
和
@FormParam("file")
@PartType("application/octet-stream")
@JsonIgnore
public void setFileData(InputStream fileData) {
this.fileData = fileData;
}
它工作正常。我可以將這個流保存到一個文件中,並且沒有java堆大小的問題。現在我試圖使用Hibernate將其保存到數據庫中。就像這樣:
repFile.setFileData(session.getLobHelper().createBlob(file.getFileData(), 1024L));
,當我保存repFile對象我有ORA-01461只能用於插入結合long值轉換爲一個LONG列。 它與甲骨文10.但它與Oracle 11.2 崩潰我試圖LobHandler接口添加到我的配置 - 沒有幫助
<property name="lobHandler">
<bean class="org.springframework.jdbc.support.lob.OracleLobHandler">
<property name="nativeJdbcExtractor">
<bean class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"/>
</property>
</bean>
</property>
並設置批量大小爲0,並允許蒸
<prop key="hibernate.jdbc.use_streams_for_binary">true</prop>
<prop key="hibernate.jdbc.batch_size">0</prop>
這也沒有幫助...有沒有人有這個解決方案?任何幫助都會很好。