code: @Override
    public Blob transformOut(JdbcPreparedStatementFactory jpsf, byte[] attributeObject) throws CpoException {
  
      BLOB newBlob = null;
  
      try {
        if (attributeObject != null) {
          newBlob = BLOB.createTemporary(jpsf.getPreparedStatement().getConnection(), false, BLOB.DURATION_SESSION);
          jpsf.AddReleasible(new OracleTemporaryBlob(newBlob));
  
          //OutputStream os = newBlob.getBinaryOutputStream();
          OutputStream os = newBlob.setBinaryStream(0);
          os.write(attributeObject);
          os.close();
        }
      } catch (Exception e) {
        String msg = "Error BLOBing Byte Array";
        logger.error(msg, e);
        throw new CpoException(msg, e);
      }
      return newBlob;
    }
docs: Transforms the data from the class attribute to the object required by the datasource
  
  @param cpoAdapter The CpoAdapter for the datasource where the attribute is being persisted
  @param parentObject The object that contains the attribute being persisted.
  @param attributeObject The object that represents the attribute being persisted.
  @return The object to be stored in the datasource
  @throws CpoException