Resgatar Blob do banco - Java

Boa tarde,

Fiz um service onde guardo um blob (imagem, txt zip etc)…
porem o usuario pode fazer download daquele arquivo posteriormente, até ai beleza…
Fiz um service para o download, que preenche um bean, para fazer o download da imagem… porem o “slot” onde esta guardada a imagem vem nula após o select…

segue o codigo…

public class ServiceManageFileDownload implements AuditableControllerService {

	private AudityCore auditEngine;
	private AuditedUser user;

	public void init(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {		}

	public void service(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {
	
		TableTrRmaFile tbRmaFile = TraceUtil.getTable(TableTrRmaFile.class);	
		Long paramIdRmaFile = req.getParameterAsLong("idRmaFile", "");
		
		if (user != null) {
			
			Session session = null;
			BeanRmaFile beanRmaFile = new BeanRmaFile();
			byte [] file = null;

			try {
					session = TraceUtil.createSession();
					Select select = session.select(tbRmaFile);
					select.where(WhereConditions.equal(tbRmaFile.idFile, paramIdRmaFile));
					beanRmaFile = select.getSingleRow(tbRmaFile);
					
					file = beanRmaFile.getSlotFile();
				
			}catch (Exception e) {
				TraceCore.getInstance().getLogger().log(Logger.ERROR_DETAIL_02, e);
				e.printStackTrace();
				session.rollback();
			} finally {
				TraceUtil.close(session);
			}
			
			byte[] bytes = file;
			
			
			resp.setContentType("application/octet-stream");
			resp.setHeader("Content-disposition", "attachment; filename=\"" + beanRmaFile.getNameFile() + "\"");
			resp.getOutputStream().write(bytes);
		}
	}

	public void finish(CASHttpServletRequest req, HttpServletResponse resp) throws Throwable {}

	public Logger getLogger() {
		return TraceCore.getInstance().getLogger();
	}

	public void setAuditEngine(AudityCore auditEngine) {
		this.auditEngine = auditEngine;
	}

	public AudityCore getAuditEngine() {
		return auditEngine;
	}

	public void setUser(AuditedUser user) {
		this.user = user;
	}

	public AuditedUser getUser() {
		return user;
	}
	
}

esse “beanRmaFile.getSlotFile();” esta pegando a imagem que esta gravada num campo blob do banco…
porem ele retorna nul…
O download começa, baixa o arquivo certo, porem o conteudo a imagem realmente não vem…
O que tem que ser feito, alguem poderia ajudar?

Obrigado!
O que tenho que fazer pra trazer a imagem

Poxa ninguem?
Precisava meio que urgente… pesquisei alguns codigos mas todos
tem somente um “rs.getblob” porem assim nao da certo…
alguem?

Por um lado, fico feliz, vejo que não é um problema tão simples… afinal ninguem ajudou rsrs…

Para quem interessar…
faltou uma parte de código no select…
para retornar o valor é necessaria a “gambi”…

Select select = session.select(tbRmaFile);
					select.addColumns(tbRmaFile.slotFile);
					select.where(WhereConditions.equal(tbRmaFile.idFile, paramIdRmaFile));
					beanRmaFile = select.getSingleRow(tbRmaFile);

Resolvido.

abrçs!

Uso esse código para salvar e pegar os valores do campo blob
no meu caso uma imagem

//save image into database
    	File file = new File("C:\\mavan-hibernate-image-mysql.gif");
        byte[] bFile = new byte[(int) file.length()];
 
        try {
	     FileInputStream fileInputStream = new FileInputStream(file);
	     //convert file into array of bytes
	     fileInputStream.read(bFile);
	     fileInputStream.close();
        } catch (Exception e) {
	     e.printStackTrace();
        }
 
        Avatar avatar = new Avatar();
        avatar.setImage(bFile);
 
        session.save(avatar);
 
        //Get image from database
        Avatar avatar2 = (Avatar)session.get(Avatar.class, avatar.getAvatarId());
        byte[] bAvatar = avatar2.getImage();
 
        try{
            FileOutputStream fos = new FileOutputStream("C:\\test.gif"); 
            fos.write(bAvatar);
            fos.close();
        }catch(Exception e){
            e.printStackTrace();
        }