Ajuda Com Java e NetBeans

Olá eu estou fazendo o meu trabalho de TCC da faculdade e estou encontrando algumas dificuldades: o meu projeto é um software para controlar uma loja de roupas e que eu não estou conseguindo fazer é o seguinte: tenho a Tabela Cliente e as tabelas Clientefisico e Clientejuridico que herdam de cliente, porém eu só posso inserir na tabela de clienteFisico se já tiver um cliente com o mesmo id na tabela cliente mas não sei como recuperar a chave do id do banco na hora da gravação da primeira tabela para usar na segunda, o mesmo caso vale para pedidos e itens do pedido e Compra e itens da compra, e também estou tendo dificuldades para validar os campos do formulários em especial os campos telefones, RG e CEp se alguém puder me ajudar ou der aulas particulares favor me responder eu não quero tudo pronto e mastigado, quero aprender até porque acabei de preder meu emprego de 14 anos que tinha na área do comércio então tenho que aprender urgente para poder entrar no mercado de trabalho, agradeço a todos que lerem e ainda mais a quem puder me ajudar, tenham um bom feriado e uma ótima páscoa.

E ai cara blz, então conte um pouco mais sobre a estrutura do seu tcc… ele é ambiente web ou desktop? Qual base utiliza?.. São informações importantes para podermos começar ou tentar ajudar vc nesse trampo.

Vlw abraço, ótimo feriado pra vc também véi!!!

Blz, antes de tudo um bom feriado para vc tambem

Sim, é uma aplicação Desktop, estou utilizando o netBeasns com mysql como base de dados, muito obrigado.

olá essa é a minha classe Tipo eque está num package ObbjetosDeTRansferencia[code]

package ObbjetosDeTRansferencia
public class Tipo {
private String tipo;
private String descricao;
private int tipoID;

public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public String getTipo() {
    return tipo;
}

public void setTipo(String tipo) {
    this.tipo = tipo;
}

public int getTipoID() {
    return tipoID;
}

public void setTipoID(int tipoID) {
    this.tipoID = tipoID;
}

}
[/code]

[code]package Persistencia;
public class ServicoTipo {

public ArrayList<Tipo> buscaECarregaTipo() throws SQLException {
    Tipo tipo = new Tipo();
    ArrayList<Tipo> listaDeTipos = new ArrayList<Tipo>();
    Conexao conexao = new Conexao();
    Connection con = conexao.carregaDriverERetornaConexao();
    Statement consulta = null;
    ResultSet resultado = null;
    try {
        consulta = con.createStatement();//cria um objeto para consultar o banco de dados
        resultado = consulta.executeQuery("select tipoID, tipo, descricao from tipo");
        System.out.println("Consulta da Tabela Tipos");
        System.out.println();
        while (resultado.next()) {
            tipo.setTipoID(resultado.getInt("TipoID"));
            tipo.setTipo(resultado.getString("tipo"));
            tipo.setDescricao(resultado.getString("descricao"));
            listaDeTipos.add(tipo);
            for (int i = 1; i <= resultado.getMetaData().getColumnCount(); i++) {
                System.out.printf("%-8s\t", resultado.getObject(i));//Esse Trecho é só para saber que a consulta está funcionando.
            }
            System.out.println();
        }
        for(int i = 0; i < listaDeTipos.size();i++){
            Tipo escreveTipo = listaDeTipos.get(i);
            JOptionPane.showMessageDialog(null, "Os tipos existentes na tabela são: " + escreveTipo);
        }
        resultado.close();
        con.close();
    } catch (Exception exception) {
        exception.printStackTrace();
        System.exit(1);
    }
    return listaDeTipos;
}
	[/code]Essa é a busca que estou fazendo tentando retornar uma lista onde essa contenha todos os dados do meu banco para que eu posso mostrar isso num combo box e que se encontra no meu package apresentação, mas a parte da lista não est´funcionando, a pesquisa funciona certinho.