我尝试从db检索blob数据并将其导出为文件,但blob对象始终丢失,将其从ejb层传递到操作层

时间:2011-11-16 01:26:57

标签: hibernate struts ejb blob

我在db中有一个blob字段。

我正在使用hibernate将数据提取到实体对象,当数据传递到dao层时,blob就在那里,但是当它从ejb层传递到struts动作层时,blob变为null,似乎它在两者之间丢失,下面是细节背景:

  1. hibernate实体映射文件,blob属性为java.sql.Blob类型
  2. 实体类属性是serializableBlob type
  3. ejb bean调用dao,并将数据传递回动作类,dao成功地检索blob对象,但是当它返回动作时,它就会丢失。
  4. 错误信息是:

    java.lang.IllegalStateException: Blobs may not be accessed after serialization 
    

    可能的原因是什么?

1 个答案:

答案 0 :(得分:2)

这对我来说一直是个问题。

尝试按照本博客中提到的方式进行操作,这可能有所帮助 http://hansonchar.blogspot.com/2005/06/oracle-blob-mapped-to-byte-in.html