Olá!
Quero implementar auditoria de mudança de valores campos em meu aplicativo. É um aplicativo (EAR) que usar JSF na camada WEB (WAR), esse WAR chama métodos que estão em um projeto EJB (JAR). No JAR estão minhas entidades, métodos que acessam banco de dados etc.
Queria gravar, na tabela de auditoria, a mudança que houve nos dados, juntamente com o id do usuário que efetuou a mudança. Esse ID consigo pegar no lado WEB, pois é um parametro da sessão. A única maneira que imagine de enviar esse ID para a camada EJB (já que essa faria a inclusão de dados nas tabelas de auditoria), é enviá-lo como parâmetro de todos os métodos. Isso ficaria horrível não acham?
Estava pensando em utilizar algum listener, filtro, ou interceptador. Algo que deixasse a auditoria o mais transparente possível. Descobri uma framework que parece muito legal, o Hibernate Envers, mas não descobri como passar o ID do usuário para o Envers…
Alguma idéia?
Abs!