Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将Hibernate Blob转换回原始文件_Java_Hibernate - Fatal编程技术网

Java 如何将Hibernate Blob转换回原始文件

Java 如何将Hibernate Blob转换回原始文件,java,hibernate,Java,Hibernate,我正在使用hibernate在数据库中存储压缩文件,我已经用hibernate.createBlobinput流创建了Blob文件 现在我想反转这个过程并将Blob转换为文件,这样我就可以用Zip4j打开它了 我到底该怎么做? 我试着这么做,但总是有例外 谢谢。您可以在c语言中使用这个示例解决方案,代码应该相对类似 我知道这不是一个理想的答案,但这是一个很好的起点。我找到了解决问题的办法。 我用来将blob转换为文件的方式是可以的。发生异常是因为hibernate自身问题,您可以称之为 为了防止

我正在使用hibernate在数据库中存储压缩文件,我已经用hibernate.createBlobinput流创建了Blob文件

现在我想反转这个过程并将Blob转换为文件,这样我就可以用Zip4j打开它了 我到底该怎么做? 我试着这么做,但总是有例外


谢谢。

您可以在c语言中使用这个示例解决方案,代码应该相对类似


我知道这不是一个理想的答案,但这是一个很好的起点。

我找到了解决问题的办法。 我用来将blob转换为文件的方式是可以的。发生异常是因为hibernate自身问题,您可以称之为

为了防止异常发生,我需要在保存后进行刷新

session.refresh(blog);

就是这样。

这个概念理解得很好,这是一个java/Hibernate技术问题。谢谢你
2013-07-03 18:38:35,482 [DEBUG] [HibernateTransactionManager,doBegin(),569] - Exposing 
Hibernate transaction as JDBC transaction [com.mchange.v2.c3p0.impl.NewProxyConnection@69875a82]
java.sql.SQLException: could not reset reader
at org.hibernate.lob.BlobImpl.getBinaryStream(BlobImpl.java:106)
at org.hibernate.lob.SerializableBlob.getBinaryStream(SerializableBlob.java:62)
at com.gleeb.backbonetemplates.services.LivePreviewService.prepareDesignForLivePreview(LivePreviewService.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
session.refresh(blog);