tentando recuperar texto e blob do mysql para jtable

Então, eu estou tentando recuperar um texto e um blob (imagem) de um banco de dados dentro de um jtable de uma maneira agradável. Por alguma razão, sempre que tento recuperar o blob, recebo o seguinte:

java.io.ByteArrayInputStream@1cb63183

em todas as outras colunas, embora eu tenha especificado que o blob está no dia 8!

Aqui está uma captura de tela:

http://s24.postimg.org/t71o3izlh/Screen_Shot_2016_01_28_at_1_26_55_PM.png

Aqui está o meu código

sql = "SELECT * FROM Products";  

ResultSet rs = stmt.executeQuery(sql);

  ResultSetMetaData rsmd = rs.getMetaData();
 // getting the columns number
  int columnsNumber = rsmd.getColumnCount();

// setting a vector with columns number
Vector columns = new Vector(columnsNumber);


 // adding column names
for(int i=1; i<=columnsNumber; i++)
columns.add(rsmd.getColumnName(i));

// setting a vector with row data
Vector rowdata = new Vector();
Vector row;
JTable table = new JTable(rowdata, columns);

while(rs.next())
{

 row = new Vector(columnsNumber);

    for(int i=1; i<=columnsNumber; i++)
   {
    // adding the rows in "row vector"
    InputStream binaryStream = rs.getBinaryStream(i);
    row.add(rs.getString(i));
    row.add(rs.getBinaryStream(8));

}
// adding the rows in the database
rowdata.add(row);
}

Alguém poderia me explicar por que essa abordagem não está funcionando?

a propósito, se eu removi esta linha:

 row.add(rs.getBinaryStream(8));

O problema de obter o java.io.ByteArrayInputSteam desaparecerá, no entanto, apenas obterei a representação de texto da imagem.

na verdade, não é uma duplicata porque estou tentando adicioná-lo em uma coluna específica, dependendo de quantas linhas eu tenho, que são AMBOS texto e imagem. Por isso, é feito dinamicamente e o sql tem a imagem e o texto ao mesmo tempo, ao contrário da "possível duplicação"

Desde já, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion