Chave estrangeira sem pai HSQLDB

ME AJUDEM ACHAR O PAI DESSA CHAVE ESTRANGEIRA POR FAVOR :joy:

Galera to utilizando hsqldb e to obtendo um erro ao tentar cadastrar um aluno.
√Č apenas uma tela que faz cadastro de Aluno, Contratante e Disciplina juntos.

A primary key de Alunos √© uma string gerada por um algor√≠timo que retorna nesse formato ‚Äú290-2019/1/0/0‚ÄĚ Onde a primeira parte √© um c√≥digo gerado a segunda √© o ano de cadastro e a terceira que s√£o entre barras s√£o os c√≥digos das disciplinas escolhidas.

Porém na hora de executar o cadastro está me retornando assim integrity constraint violation: foreign key no parent;
E j√° debuguei o programa e ele ta retornando o id do aluno corretamente, mas de alguma forma a tabela contratante n√£o est√° reconhecendo.

Create de AlunoDAO

public void create(Aluno a){
        
        Connection con = conex.conexao();
        PreparedStatement stmt = null;
        
        try{
           stmt = (PreparedStatement) con.prepareStatement("INSERT INTO ALUNOS (\"id_matri\", \"nome_aluno\", \"data_nascimento\", \"rg_aluno\", \"cpf_aluno\", \"nome_pai\", \"nome_mae\", \"end_aluno\", \"bairro_aluno\", \"cidade_aluno\", \"tel_aluno\", \"email\", \"id_disci\", \"id_disci2\", \"id_disci3\", \"imagem\")VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
           stmt.setString(1, a.getId_matri());
           stmt.setString(2, a.getNome_aluno());
           stmt.setString(3, a.getData_nascimento());
           stmt.setString(4, a.getRg_aluno());
           stmt.setString(5, a.getCpf_aluno());
           stmt.setString(6, a.getNome_pai());
           stmt.setString(7, a.getNome_mae());
           stmt.setString(8, a.getEnd_aluno());
           stmt.setString(9, a.getBairro_aluno());
           stmt.setString(10, a.getCidade_aluno());
           stmt.setString(11, a.getTel_aluno());
           stmt.setString(12, a.getEmail());
           stmt.setInt(13, a.getId_disci());
           stmt.setInt(14, a.getId_disci2());
           stmt.setInt(15, a.getId_disci3());
           stmt.setBytes(16, a.getImagem()); 
           
           stmt.executeUpdate();
           
        }catch(SQLException ex){
            System.out.println(ex);
        }
    }

Create de Contratante

public void create(Contratante c){
        Connection con = conex.conexao();

    PreparedStatement stmt = null;
    
    try {
        stmt = (PreparedStatement) con.prepareStatement("INSERT INTO CONTRATANTE(\"id_con\", \"nome_con\", \"nacionalidade_con\", \"nascimento_con\", \"profi_con\", \"estado_civil\", \"rg_con\", \"cpf_con\", \"end_con\", \"bairro_con\", \"cidade_con\", \"tel_con\", \"cel_con\", \"id_aluno\") VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
        stmt.setInt(1, stmt.RETURN_GENERATED_KEYS);
        stmt.setString(2, c.getNome_con());
        stmt.setString(3, c.getNacionalidade_con());
        stmt.setString(4, c.getNascimento_con());
        stmt.setString(5, c.getProfi_con());
        stmt.setString(6, c.getEstado_civil());
        stmt.setString(7, c.getRg_con());
        stmt.setString(8, c.getCpf_con());
        stmt.setString(9, c.getEnd_con());
        stmt.setString(10, c.getBairro_con());
        stmt.setString(11, c.getCidade_con());
        stmt.setString(12, c.getTel_con());
        stmt.setString(13, c.getCel_con());
        stmt.setString(14, c.getId_aluno());
        
        stmt.executeUpdate();
        
    } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, "Erro ao salvar: "+ ex);
    } 
}

Alimentação de dados na interface de Cadastro

a = new Aluno();

    a.setId_matri(eg_id);
    a.setNome_aluno(nomeA_cad_id.getText());
    a.setData_nascimento(dataNascA_cad_id.getText());
    a.setRg_aluno(rgA_cad_id.getText());
    a.setCpf_aluno(cpf_cad_id.getText());
    a.setNome_pai(nomePaiA_cad_id.getText());
    a.setNome_mae(nomeMaeA_cad_id.getText());
    a.setEnd_aluno(endA_cad_id.getText());
    a.setBairro_aluno(bairroA_cad_id.getText());
    a.setCidade_aluno(cidadeA_cad_id.getText());
    a.setTel_aluno(celA_cad_id.getText());
    a.setEmail(emailA_cad_id.getText());
    a.setId_disci(id_disciplina);
    a.setId_disci2(id_disciplina_2);
    a.setId_disci3(id_disciplina_3);
    a.setImagem(array);
    

    //Cadastro de Contratante
    String est_civil = (String) estCivil_cad_id.getSelectedItem();
    c = new Contratante();
    
    c.setNome_con(nomeC_cad_id.getText());
    c.setNacionalidade_con(nacC_cad_id.getText());
    c.setNascimento_con(nascC_cad_id.getText());
    c.setProfi_con(profC_cad_id.getText());
    c.setEstado_civil(est_civil);
    c.setRg_con(rgC_cad_id.getText());
    c.setCpf_con(cpfC_cad_id.getText());
    c.setEnd_con(endC_cad_id.getText());
    c.setBairro_con(bairroC_cad_id.getText());
    c.setCidade_con(cidadeC_cad_id.getText());
    c.setTel_con(celC_cad_id.getText());
    c.setCel_con(celC2_cad_id.getText());
    c.setId_aluno(eg_id);

    dao.create(a);
    daoc.create(c);