Remoção lógica (Soft Delete)

08/05/2017

0

Olá,

estou trabalhando em um modelo de dados que por contrato temos que usar exclusão lógica em algumas tabelas.

Em um cenário bem simples, posso citar como exemplo fictício uma tabela de pessoa física outra tabela de processo e uma tabela que associamos pessoas a processos.

Conheço alguns conceitos e formas de uso, com as anotações @SQLDelete e @Where por exemplo, que me possibilita fazer essa exclusão lógica de maneira simples, assim como a listagem apenas dos registros não excluídos logicamente.

Um exemplo pode ser visto no link: https://vladmihalcea.com/2017/03/08/the-best-way-to-soft-delete-with-hibernate/

A dúvida mesmo é:

No caso em que só posso "excluir" um registro da tabela "pessoafisica" se não houver nenhum registro de pessoafisica na tabela de associação "pessoafisica_processo" , como faço essa validação? Tenho que fazer essa verificação em minha regra de negócio? O problema é que a cada nova tabela que venha a surgir com esse tipo de relacionamento com a tabela de "pessoafisica", eu vou ter q alterar minha regra de negocio e verificar essa nova relação de integridade.

Enfim como a galera resolve esse problema, que acredito não ser exclusivo de minha aplicação?
Edmilson Almeida

Edmilson Almeida

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar