Olá, estou com alguns problemas com o hibernate:
Quando vou excluir um registro de uma tabela que tem relacionamento e este registro está sendo usado em outras tabelas, é então lançada uma exceção Contraint Violation, agora o que não está dando é para saber quais tabelas que tem registro utilizando o registro que estou querendo excluir.
Isto é uma das coisas que o hibernate não conseguiu resolver, porque ele também depende de dados dos driver de banco de dados.
Alguém sabe como contornar isto?
drix
Junho 23, 2006, 4:59pm
#2
Talves, isto pode lhe ajudar!
Persistência em cascata
Os relacionamentos entre os objetos no Hibernate podem ser tratados com ações “em
cascata”. Isso significaria, no nosso exemplo, que você poderia inserir um objeto
Pessoa no banco de dados e depois associar um Endereco a ele, sem ter de indicar ao
Hibernate que este objeto deve ser persistido no banco de dados. Esse tipo de ação é
definido pelo atributo “cascade” nos nós de relacionamento (, ,
etc). Ele pode assumir os seguintes valores:
“none” : o Hibernate ignora a associação
“save-update” : ele vai inserir ou atualizar automaticamente os objetos associados, quando o objeto
“raiz” for inserido ou atualizado
“delete” : ele vai deletar os objetos associados ao objeto raiz
“all” : uma junção de “delete” e “save-update”
“all-delete-orphan” : o mesmo que “all”, mas o Hibernate vai deletar qualquer objeto que tiver sido
retirado da associação
“delete-orphan” : faz com que o Hibernate veja se o objeto ainda faz parte da associação, se ele não fizer,
vai ser deletado.
Fonte: Introdução ao Hibernate (Mauricio Linhares)
http://www.guj.com.br/content/articles/hibernate/intruducao_hibernate3_guj.pdf
Utilize também, conforme for, nos métodos de update e delete so SGBDR o valor cascade…
Espero ter ajudado :!: