package org.jbpm.pvm.internal.lob; import java.sql.SQLException; import org.hibernate.Hibernate; import org.jbpm.api.JbpmException; public class BlobStrategyBlob implements BlobStrategy { public void set(byte[] bytes, Lob lob) { if (bytes!=null) { lob.cachedBytes = bytes; lob.blob = Hibernate.createBlob(bytes); } } public byte[] get(Lob lob) { if (lob.cachedBytes!=null) { return lob.cachedBytes; } java.sql.Blob sqlBlob = lob.blob; if (sqlBlob!=null) { try { return sqlBlob.getBytes(1, (int) sqlBlob.length()); } catch (SQLException e) { throw new JbpmException("couldn't extract bytes out of blob", e); } } return null; } }