Problema com ArrayList + Object

1 resposta
programaçãojavamysql
Deyvid_Martins

Boa Tarde!!!

Preciso criar uma lista com a descrição de 1 object alguém pode me ajudar ?

public List<Imovel> lista_selecina_imovel(int id_imovel) {
    List<Imovel> listImovel;
    listImovel = new ArrayList<>();

    Connection con = Conexao.Conexao();
    String sql;
    ResultSet rs = null;
    PreparedStatement pst = null;

    try {
        sql = "select * from imovel WHERE id_imovel = ?";
        pst = con.prepareStatement(sql);
        pst.setInt(1, id_imovel);           
        rs = pst.executeQuery();
        while (rs.next()) {
          
            listImovel.add(new Imovel(rs.getInt("id_imovel"),rs.getObject("descricao",getClass()),rs.getObject("descricao", getClass()),
                    rs.getFloat("valor"),rs.getString("rua"), rs.getString ("numero"), rs.getString("complemento"),
                    rs.getString("bairro"), rs.getString("cidade"), rs.getString("uf"),rs.getString("data_cadastro"),
                    rs.getString("referencia"), rs.getString("cep"), rs.getString("placa"), rs.getString("terreno"),
                    rs.getString("area"), rs.getInt("pasta"), rs.getString("descrição"), rs.getString("acabamento"),
                    rs.getString("observacao")));
        }
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro ao iniciar lista" + ex);
    } finally {
        Conexao.closeConnection(con, pst, rs);
    }

    return listImovel;
}

1 Resposta

J

Como você está trabalhando unicamente com JDBC sem a ajuda de nenhum ORM e ele não trabalha com o mapeamento de objetos mas sim com linguagem relacional, vai ser preciso popular os objetos manualmente. Existe um termo para essa divergência inclusive, Impedância Objeto Relacional.

Será preciso realizar um join na sua query de pesquisa que retorne os relacionamentos envolvidos. Uma vez devolvidos, será preciso popular cada um dos objetos pertencentes a composição de seu objeto principal.

Criado 27 de outubro de 2018
Ultima resposta 27 de out. de 2018
Respostas 1
Participantes 2