Estou com o seguinte problema, desenvolvi um sistema desktop utilizando:
NetBeans 6 Beta 2
Base de dados MySQL 5
JPA
O NetBeans criou automaticamente as classes de persistência das minhas entidades e os forms para inclusão/alteração/exclusão dos desses dados, agora o que eu estou precisando é criar uma rotina de log de alterações nesses dados, como por exemplo, em uma determinada registro da tabela clientes o campo nome contem “NOME 1” e o usuário do sistema altera isso pra “NOME X”, nesse caso eu preciso gravar na tabela logs essa alteração juntamente com o código do usuário que fez, a data da alteração, o valor antigo e no novo valor.
Existe alguma forma de fazer isso de uma forma mais genéria? Através de eventos por exemplo, pergunto isso por que eu tenho umas 10 classes de persistência que eu vou ter que implementar essa rotina.
Se tem como fazer isso de uma forma mais genérica… como fazer?
No caso de trigger´s eu ficaria muito dependente do banco de dados, em uma alteração dele futuramente daria muita manutenção no código… vou dar uma olhada no log4j mesmo, acho que deve solucionar o problema caso seja possível gravar esse log na minha tabela logs no banco de dados.
Bom pesquisando sobre o log4j, nao encontrei uma forma de utiliza-lo fazendo com que ele insira os dados alterados em uma tabela no banco de dados… entao continuo na mesma…
Na verdade a única coisa que vi utilizando annotations foi o código das entidades que o NetBeans gerou automaticamente para fazer a persistência dos dados (JPA / TopLink), até pensei em tentar criar alguma coisa relacionada com isso mas não consegui entender como fazer para que quando haja alguma alteração em algum campo de uma entidade e que ao salvar esse registro seja inserido um registro na tabela de logs informando o valor antigo desse campo e o novo valor para qual foi alterado… mas já estou chegando a conclusão que o caminho é por esse lado mesmo… mas não sei como fazer…