JDBC no firebird com campo BLOB

Alguém pode me ajudar como armazenar e visualizar imagem no firebird , estou fazendo via jdbc e o código abaixo parece que até grava , mas quando recupero a imagem ela não dá p/ler como imagem, oque será quie está errado?

o campo é BLOB SUB_TYPE 0

try
{
//gravando a imagem no banco…

strSQL = "UPDATE tblcadempresa SET foto=?";
File imageFile = new File("000000301.jpg" );
pstmt = getConector().getConexao().prepareStatement (strSQL);
			
java.io.InputStream in = new java.io.FileInputStream( imageFile );
pstmt.setBinaryStream( 
	         1,  // parameter index 
		         in, // InputStream to read from
		         (int) imageFile.length() // number of bytes to read
		);
 pstmt.executeUpdate();
getConector().getConexao().commit();
 in.close(); 

//recuperando a imagem…

		  strSQL = "SELECT FOTO FROM tblcadempresa";
		  pstmt = getConector().getConexao().prepareStatement (strSQL);
		  ResultSet rs = pstmt.executeQuery();
		  if (rs.next())
		  {
		      java.sql.Blob blob = rs.getBlob(1);
		      java.io.FileOutputStream out = new java.io.FileOutputStream("myImage.jpg");
		      java.io.BufferedInputStream is = new java.io.BufferedInputStream(blob.getBinaryStream()); 
		      byte[] buffer = new byte[is.available()]; 
		      out.write(buffer);
		      out.close(); 
		      is.close(); 
		}
		  
		  
		  
		  
		  
		}
		catch(Exception e)
		{
		System.out.println(e);    
		}

Já descobri o erro obrigado gente!

Olá, estou tendo o mesmo problema. Como você consegiu resolver???