Olá Pessoa, tudo bem? Espero que sim!
Eu estou com o seguinte problema: tenho um mapemaneo many-to many entre Filme e Pessoa, que gera a relação associativa Direcao que tem como chave-primeira a composição das chaves estrangeiras idFilme e idPessoa.
O mapeamento funcionou perfeitamente, o Hibernate executou os comandos DDL com exatidão, todas as restrições estão adequadas.
No entanto, quando executo o comando this.session.delete( filme ) ocorre um erro: o framework não exclui os dados da relação Direcao (relação associativa) e parte direto para a exclusão do filme causando um erro de quebra de restrição, e quando coloco o atributo cascade=“delete-orphan” ou cascade=“delete” ou cascade=“all-delete-orphan” ele primeiro executa a atualização de outro relacionamento um para muitos que o filme possui com elenco, que está relacionado com pessoa, atribuindo o valor null para o idPessoa do elenco: UPDATE Elenco set idPessoa=null WHERE idPessoa=?. O que também gera um erro.
Só para deixar claro o meu contexto:
Pessoa possui um relacionamento 1:N com Elenco.
Filme possui um relacionamento 1:N com Elenco.
Filme possui um relacionamento N:M com Pessoa (gerando a relação associativa Direcao)
Direcao = { idFilme, idPessoa }
Elenco = { idFilme, idPessoa, nomeDoPersonagem }
Se alguém puder me ajudar com isso seria muito grato. Só para deixar claro os mapeamentos estão funcionando, só ocorre erro quando excluo um filme. Porém, acredito que deve estar faltando algum atributo no mapeamento.
Obrigado pela atenção.