DAO retorna lista fazia

Olá!
O método abaixo está retornando uma lista vazia, quando deveria retornar um ou mais itens.
Testei o comando no banco e está funcionando.

DAO


public List<Endereco> pesquisaEnderecos(int idUsuario) {

        List<Endereco> lista = new ArrayList<Endereco>();
        String sql = "SELECT * FROM Endereco WHERE idUsuario=?";
        try {
            con.setAutoCommit(false);
            PreparedStatement stmt = con.prepareStatement(sql);
            stmt.setInt(1, idUsuario);            

            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                Endereco endereco = new Endereco();
                endereco.setIdEndereco(rs.getInt(1));
                endereco.setRua(rs.getString(2));
                endereco.setCep(rs.getInt(3));
                endereco.setCidade(rs.getString(4));
                endereco.setPais(rs.getString(5));
                endereco.setNumero(rs.getInt(6));
                endereco.setComplemento(rs.getString(7));
                endereco.setBairro(rs.getString(8));
                endereco.setIdUsuario(rs.getInt(9));
                               
                lista.add(endereco);
            }
            con.commit();
            rs.close();
            stmt.close();
            
            return lista;
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }

No jsp:


try {
                                List <Endereco> lista = new ArrayList <Endereco>();
                                EnderecoBean edbean = new EnderecoBean();

                                int idUsuario = (Integer.parseInt(session.getAttribute("idUsuario").toString()));
                                
                                lista = edbean.pesquisaEnderecos( idUsuario);
                                
                                if (lista != null) {
                                    
                                    Iterator iterator = lista.iterator();
                                    
                                    while (iterator.hasNext()) {
                                        out.println("aqui");
                                        Endereco endereco = (Endereco) iterator.next();
 
                                        // preenche tabela ..

                                        }
                                    }
                                } catch (Exception e) {
                                    out.println(e);
                                }

Passei um tempinho tentando resouver isso, pesquisei em algumas postagens, mas aparentimento está tudo certo…
Desde já obrigada.