Como crio um SELECT atravez de diversas classes BEAN?

Boa tarde galera, eu nao estou conseguindo sair do lugar… Travei em uma parte do meu trabalho. Eu estou fazendo um evento clique de mouse em um botao aonde eu passo como parametro um codigo (inteiro) clico e ele da um SELECT no oracle e tal… Eu uso o ResultSet e jogo os resultados pra dentro de um objeto da classeA_Bean que eu criei. Até ai tudo bem, mas o meu problema é que eu tenho 5 classes BEAN diferentes. classeA_Bean, classeB_Bean,classeC_Bean,classeD_Bean,classeExecutiva_Bean.
No metodo que realiza o SELECT no banco eu salvo dentro de um objeto da classeA_Bean, eu acredito que criando um objeto de cada uma das 5 classes e realizando o mesmo processo tem como fazer isso, mas eu queria fazer algo diferente… Eu nao sei mas acho que fazer isso é muito amador, e gostaria de aprender como fazer isso de uma maneira mais otimizada. Ai vai os codigos:

[code]public classeA_Bean select(int codigo) throws FileNotFoundException, IOException, SQLException {

    Connection conn = null;
    cab = new classeA_Bean();
    String tabelas[] = new String[5];
    tabelas[0] = "classeA";
    tabelas[1] = "classeB";
    tabelas[2] = "classeC";
    tabelas[3] = "classeD";
    tabelas[4] = "executiva";


    try {
        for (int i = 0; i <= tabelas.length; i++) {
            sql = "select * from " + tabelas[i] + " where codigo =" + codigo;
            conn = getConnection();
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            rs.next();

            cab.setCodigo(rs.getInt("codigo"));
            cab.setNumero_voo(rs.getInt("numero_voo"));
            cab.setAcento(rs.getInt("acento"));
            cab.setNome_cliente(rs.getString("nome_cliente"));
            cab.setValor_passagem(rs.getDouble("valor_passagem"));
            cab.setData(rs.getString("data"));
            
            if(cab.getCodigo() == codigo){
                cab.setClasse(tabelas[i]);
                break;
            }
        }
    } catch (ClassNotFoundException e) {
    } catch (SQLException e) {
    } finally {
        conn.close();
    }
    return cab;
}[/code]

Valeu galera!

pesquise sobre Generics.

é, nao me ajudou muita coisa…

Você pediu uma maneira otimizada, mas o que você está tentando fazer é buscar em várias tabelas um registro.
Isso tudo fica confuso e depois vai te dar cabeça.

É melhor assim: para cada classe um método que consulta a tabela correspondente.

Mesmo porque nesse for você abre 5 conexões e depois só fecha uma vez.

Vai ficar mais ou menos assim:

public classeA select (int cod)

public classeB select (int cod)

Ahhh, beleza puka… vou tentar fazer aqui ai se der certo ou nao eu respondo novamente aqui no topico! Valeuu ;D