Delete numa instancia de tabela referenciada

3 respostas
D

Olá,

minha duvida eh o seguinte: eu tenho 2 tabelas no meu sistema: Project e Projecttype. Um project possui apenas um projecttype (N-1). Eu preciso fazer uma funcionalidade de deletar uma istancia da tabela projecttype, mas e se ele estiver sendo referenciada, como devo implementar isso e como devo informar ao usuário? (“Este item não pode ser deletado pois existe um projeto com este tipo”) Preciso fazer alguma constraint no banco? Estou usando o hibernate para mapeamento.

valeu

3 Respostas

J

Quando você cria um relacionamento no banco, você pode especificar a ação para delete, as duas principais opção são: cascade, que exclui os filhos; restrict, que não deixa excluir o “pai”, que é o que você quer.

Então, coloque um restrict no relacionamento, que o hibernate vai lançar uma exceção.

D

eu devo colocar um restric no hbm do projecttype ou de project? Projecttype eh apenas uma entidade basica nao possui relacionamento nenhum. Project eh quem mantem o relacionamento a projecttype.

D

ou isso eh colocado numa constraint com um “alter table”?

Criado 2 de fevereiro de 2007
Ultima resposta 2 de fev. de 2007
Respostas 3
Participantes 2