Cadastrar um veículo em uma pessoa?

Olá, alguém poderia me ajudar? Tenho duas tabelas, veiculo e associado com a fk_idveiculo(no caso seria o cadastro da pessoa proprietária do veículo), gostaria de cadastrar um veículo no ID da pessoa, identificando que essa tal pessoa seria o proprietário do veiculo cadastrado. No formulário de cadastro de veículo coloquei um combobox listando os id’s cadastrados na tabela associado, gostaria de saber como atraves disso estaria colocando tal id seria o proprietario do veiculo a ser cadastrado. Não tenho idéia de como fazer, se alguém puder ajudar agradeço.

TABELA ASSOCIADO:

private int idAssociado;
 private String nome;
 private String cpf;
 private String rg;
 private int celular;
 private int telefone;
 private String dataNasc;
 private String estado;
 private String cidade;
 private int cep;
 private String endereco;
 private String bairro;
 private Set engates = new HashSet(0);
 private Set veiculos = new HashSet(0);

TABELA VEICULO:

 private Integer idveiculo;
 private Associado associado;
 private String placa;
 private String renavam;
 private String marca;
 private String modelo;
 private String chassi;
 private int ano;
 private String cor;

TELA CADASTRO DE VEICULO:

 Associado associado = new Associado();
    
    Veiculo veiculo = new Veiculo();
    VeiculoDao vdao = new VeiculoDao();
   veiculo.setPlaca(txtPlacaV.getText());
    veiculo.setRenavam(txtRenavamV.getText());
    veiculo.setMarca(cmbMarcaV.getSelectedItem().toString());
    veiculo.setModelo(txtModeloV.getText());
    veiculo.setChassi(txtChassiV.getText());
    veiculo.setAno(Integer.parseInt(txtAnoV.getText()));
    veiculo.setCor(txtCorV.getText());
    veiculo.setAssociado(associado);
    vdao.addVeiculo(veiculo);

Como você colocou a FK de veículo no associado, primeiro insere o veículo, então, atualiza o associado:

INSERT INTO veiculo (...) VALUES (...);
UPDATE associado SET fk_idveiculo = ? WHERE idassociado = ?;

Eu não faria desta forma, entendo que, no mínimo, veículo é que pertence a associado e não o contrário, logo, a FK deveria estar no veículo.

1 curtida