Java 数据对象在没有持久存储到业务表时,可能需要临时存储。原因如下:有些持续时间长的任务需要数据对象,但是该任务没完成时数据对象不能持久存储;当服务在持久任务执行期间重启后恢复任务时需要数据对象。这样的情况下,数据对象的临时存储是有意义的。
java对象存储到Blob
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream oo;
try {
oo = new ObjectOutputStream(bo);
oo.writeObject(libraryEtextJn);
} catch (IOException e) {
e.printStackTrace();
}
Blob blob= Hibernate.createBlob(bo.toByteArray());
|
从Blob读取Java对象
ObjectInputStream is = new ObjectInputStream(new BufferedInputStream(blob.getBinaryStream()));
LibraryEtext libraryEtext = (LibraryEtext)is.readObject();
Hibernate配置Blob字段
<property name="liberary" column="LIBERARY" type="blob" />
最新内容请见作者的GitHub页:http://qaseven.github.io/