Como implementar deleção lógica em Grails
05/02/2016 09:56
Olá a todos!
Recentemente, tive a necessidade de implementar deleção lógica no meu sistema e testei algumas soluções já disponíveis na comunidade, porém, sem sucesso.
Testei o plugin Logical Delete da nanlabs (https://grails.org/plugin/logical-delete), mas ele funcionou apenas para as domains que não implementam Serializable e como meu sistema possui apenas algumas domains que não implementam Serializable, não funcionou 100%.
Outro plugin testado foi o Hibernate Filter (http://grails.org/plugin/hibernate-filter) apesar de não apresentar nenhum erro não deletou logicamente o registro.
Partindo para outra linha de soluções tentei a exclusão feita pelo próprio hibernate (http://blog.caelum.com.br/exclusao-logica-utilizando-hibernate/), mas este artigo usa as anotações do JPA o que não é compatível com meu sistema. Então pesquisei como fazer o equivalente no Grails e, se não estiver erroado, cheguei a conclusão que teria de sobrescrever algumas classes do hibernate (http://grails.github.io/grails-doc/latest/guide/GORM.html#advancedGORMFeatures).
Alguém já fez a exclusão lógica com Grails? Quais passos foram feitos ou quais plugins foram utilizados?
Toda ajuda é bem vinda! ;)
Desde já agradeço pelas respostas.
Tags:
Grails,Logical Delete,Databases