ArrayList Salva com Cochetes no Banco

Queria saber por que o ArrayList fica salvo assim no banco- não sei se é essa forma que deve ficar (ver imagem).

Quando eu vou fazer uma pesquisa e retornar as informações para o cadastro ele fica de forma errada(ver imagem):

o código para pesquisar é esse:

public class TabelaPedido{

public String ordemNumero;
public String codEstoque;
public String quantidade;
public String tipUnidad;
public String descricaoItem;
public String dataPrazPedido;
public String  precoUnit;
public String  valorDesc;
public String  icmsProd;
public String  ipiissProd;
public String  TotalSemImp;
public String  totalComImp;
public String  valorIcmsProd;
public String  valorIpiIssProd;

public TabelaPedido(){
    
    mod.setPesquisPedido(pesquisaPedido.getText());
    PedidoCompraBeans model = control.pesquisaPedido(mod);
    
    this.ordemNumero = model.getOdemNumero();
this.codEstoque = model.getCodEstoque();
this.quantidade = model.getQuantidade();
this.tipUnidad = model.getUnidade();
    this.descricaoItem = model.getDescricaoItem();
this.dataPrazPedido = model.getPrazoEntrega();
    this.precoUnit = model.getPrecoUnitario();
    this.valorDesc = model.getValorDesconto();
    this.icmsProd = model.getIcmsProduto();
    this.ipiissProd = model.getIpiissProduto();
    this.TotalSemImp = model.getTotalProdutoSemImpostos();
    this.totalComImp = model.getTotalProdutoComImpostos();
    this.valorIcmsProd = String.valueOf(model.getIcms());
    this.valorIpiIssProd = String.valueOf(model.getValorIPIISS());	
}

}

public ArrayList exibeItens(){      
    
    ArrayList<TabelaPedido> list = new ArrayList<TabelaPedido>();
    
    TabelaPedido item1 = new TabelaPedido();
    TabelaPedido item2 = new TabelaPedido();
    TabelaPedido item3 = new TabelaPedido();
    TabelaPedido item4 = new TabelaPedido();
    TabelaPedido item5 = new TabelaPedido();
    TabelaPedido item6 = new TabelaPedido();
    TabelaPedido item7 = new TabelaPedido();
    TabelaPedido item8 = new TabelaPedido();
    TabelaPedido item9 = new TabelaPedido();
    TabelaPedido item10 = new TabelaPedido();
    TabelaPedido item11 = new TabelaPedido();
    TabelaPedido item12 = new TabelaPedido();
    TabelaPedido item13 = new TabelaPedido();
    TabelaPedido item14 = new TabelaPedido();

    list.add(item1);
    list.add(item2);
    list.add(item3);
    list.add(item4);
    list.add(item5);
    list.add(item6);
    list.add(item7);
    list.add(item8);
    list.add(item9);
    list.add(item10);
    list.add(item11);
    list.add(item12);
    list.add(item13);
    list.add(item14);
    return list;
}

public void adicionaItensTabela(){

    DefaultTableModel mode = (DefaultTableModel) tabelProduto.getModel();
    ArrayList<TabelaPedido> list = exibeItens();
    Object rowData[] = new Object[14];

    for(int a = 0; a < list.size(); a++){

            rowData[0] = list.get(a).ordemNumero;
            rowData[1] = list.get(a).codEstoque;
            rowData[2] = list.get(a).quantidade;
            rowData[3] = list.get(a).tipUnidad;
            rowData[4] = list.get(a).descricaoItem;
            rowData[5] = list.get(a).dataPrazPedido;
            rowData[6] = list.get(a).precoUnit;
            rowData[7] = list.get(a).valorDesc;
            rowData[8] = list.get(a).icmsProd;
            rowData[9] = list.get(a).ipiissProd;
            rowData[10] = list.get(a).TotalSemImp;
            rowData[11] = list.get(a).totalComImp;
            rowData[12] = list.get(a).valorIcmsProd;
            rowData[13] = list.get(a).valorIpiIssProd;

    mode.addRow(rowData);
}

}

Fiz um método DAO para procurar…

public PedidoCompraBeans pesquisaPedido (PedidoCompraBeans mod){
conectaPedido.conecta();
conectaPedido.executeSQL(“Select * from compras_pedidocompra where pedidoNumero like '”+mod.getPesquisPedido()+"’");
try{
conectaPedido.resultset.first();

mod.setOdemNumero(conectaPedido.resultset.getString(“odemNumero”));
mod.setCodEstoque(conectaPedido.resultset.getString(“codEstoque”));
mod.setQuantidade(conectaPedido.resultset.getString(“quantidade”));
mod.setUnidade(conectaPedido.resultset.getString(“unidade”));
mod.setDescricaoItem(conectaPedido.resultset.getString(“descricaoItem”));
mod.setPrazoEntrega(conectaPedido.resultset.getString(“prazoEntrega”));
mod.setPrecoUnitario(conectaPedido.resultset.getString(“precoUnitario”));
mod.setValorDesconto(conectaPedido.resultset.getString(“valorDesconto”));
mod.setIcmsProduto(conectaPedido.resultset.getString(“icmsProduto”));
mod.setIpiissProduto(conectaPedido.resultset.getString(“ipiissProduto”));
mod.setTotalProdutoSemImpostos(conectaPedido.resultset.getString(“totalProdutoSemImpostos”));
mod.setTotalProdutoComImpostos(conectaPedido.resultset.getString(“totalProdutoComImpostos”))
}catch(SQLException erro){
JOptionPane.showMessageDialog(null,“Item não encontrado, tente novamente”+erro,"",JOptionPane.ERROR_MESSAGE);
}
conectaPedido.desconecta();
return mod;
}

Onde está o seu método de inserção no banco?

// Aqui ele faz uma varredura na tabela pegando as informações

for(int i = 0; i<tabelProduto.getModel().getRowCount(); i++){

String ordNum = (String)tabelProduto.getValueAt(i, 0);
String codEsto = (String)tabelProduto.getValueAt(i, 1);
String quant = (String)tabelProduto.getValueAt(i, 2);
String unida = (String)tabelProduto.getValueAt(i, 3);
String descric = (String)tabelProduto.getValueAt(i, 4);
String prazoEnt = (String)tabelProduto.getValueAt(i, 5);
String precUnit = (String)tabelProduto.getValueAt(i, 6);
String valoDescon = (String)tabelProduto.getValueAt(i, 7);
String icmsProd = (String)tabelProduto.getValueAt(i, 8);
String ipiissProd = (String)tabelProduto.getValueAt(i, 9);

// As informações são armazenadas nos ArraysAbaixo, um para cada coluna da JTable
ordens.add(ordNum);
codigoProduct.add(codEsto);
quantiItens.add(quant);
tipoUnit.add(unida);
descriItens.add(descric);
dataPrazItens.add((prazoEnt));
precos.add(precUnit);
desconts.add(valoDescon);
precIcms.add(icmsProd);
precIpiIss.add(ipiissProd);

//Aqui, via PreparedStatement são coletadas e gravadas - o método está em outra Classe:

   mod.setOdemNumero(String.valueOf(ordens));
   mod.setCodEstoque(String.valueOf(codigoProduct));
   mod.setQuantidade(String.valueOf(quantiItens));
   mod.setUnidade(String.valueOf(tipoUnit));
   mod.setDescricaoItem(String.valueOf(descriItens));
   mod.setPrazoEntrega(String.valueOf(dataPrazItens));
   mod.setPrecoUnitario(String.valueOf(precos));
   mod.setValorDesconto(String.valueOf(desconts));
   mod.setIcmsProduto(String.valueOf(precIcms));
   mod.setIpiissProduto(String.valueOf(precIpiIss));
   mod.setTotalProdutoSemImpostos(String.valueOf(totsemImpos));
   mod.setTotalProdutoComImpostos(String.valueOf(totcomImpos));

//Trecho do preparedStatement:

PreparedStatement pstmt = conectaPedido.conexao.prepareStatement("Update compras_pedidocompra set estabeleceFaturamento=?..

pstmt.setString(21, mod.getOdemNumero());
pstmt.setString(22, mod.getCodEstoque());
pstmt.setString(23, mod.getQuantidade());
pstmt.setString(24, mod.getUnidade());
pstmt.setString(25, mod.getDescricaoItem());
pstmt.setString(26, mod.getPrazoEntrega());…

pstmt.execute();

Você está fazendo String.valueOf de tudo, inclusive de algumas listas.

Ajeita esse seu modelo pra utilizar o tipo de dado adequado pra cada campo.

Eu até cheguei a colocar os valores nas formas corretas, porém eu achava que por se tratar de um vetor (com várias informações dentro da tupla) teria que ser do tipo String, por isso deixei como String. Mas vou arrumar e ver…Obrigado